Advanced Chunk Processing Library 0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
chunk_processing Namespace Reference

Namespaces

namespace  detail
 

Classes

class  Chunk
 A template class for managing and processing data in chunks. More...
 
class  ChunkingError
 Base exception class for chunking operations. More...
 
class  ChunkStrategy
 
class  ConditionalSubChunkStrategy
 
class  EntropyStrategy
 
class  HierarchicalSubChunkStrategy
 
struct  is_vector
 
struct  is_vector< std::vector< T, A > >
 
class  NeuralChunkingStrategy
 
class  PatternBasedStrategy
 
class  RecursiveSubChunkStrategy
 
class  SerializationError
 Exception for serialization errors. More...
 
class  SimilarityChunkingStrategy
 
class  VarianceStrategy
 
class  VisualizationError
 Exception for visualization errors. More...
 

Functions

template<typename T >
bool is_jagged (const std::vector< std::vector< T > > &data)
 
template<typename T >
bool is_jagged_3d (const std::vector< std::vector< std::vector< T > > > &data)
 

Function Documentation

◆ is_jagged()

template<typename T >
bool chunk_processing::is_jagged ( const std::vector< std::vector< T > > &  data)

Definition at line 24 of file chunk_common.hpp.

24 {
25 if (data.empty())
26 return false;
27 const size_t expected_size = data[0].size();
28 return std::any_of(data.begin(), data.end(),
29 [expected_size](const auto& row) { return row.size() != expected_size; });
30}

Referenced by chunk_processing::Chunk< T >::add(), chunk_processing::Chunk< T >::handle_jagged_2d(), TEST_F(), and chunk_processing::Chunk< T >::validate_dimensions().

◆ is_jagged_3d()

template<typename T >
bool chunk_processing::is_jagged_3d ( const std::vector< std::vector< std::vector< T > > > &  data)

Definition at line 34 of file chunk_common.hpp.

34 {
35 if (data.empty())
36 return false;
37
38 // Check first level consistency
39 const size_t first_size = data[0].size();
40 if (std::any_of(data.begin(), data.end(),
41 [first_size](const auto& matrix) { return matrix.size() != first_size; })) {
42 return true;
43 }
44
45 // Check second level consistency
46 const size_t second_size = data[0][0].size();
47 return std::any_of(data.begin(), data.end(), [second_size](const auto& matrix) {
48 return std::any_of(matrix.begin(), matrix.end(),
49 [second_size](const auto& row) { return row.size() != second_size; });
50 });
51}

Referenced by chunk_processing::Chunk< T >::add(), chunk_processing::Chunk< T >::handle_jagged_3d(), TEST_F(), and chunk_processing::Chunk< T >::validate_dimensions().