Advanced Chunk Processing Library 0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
advanced_structures::SemanticBoundariesChunk< T > Class Template Reference

Semantic boundaries-based chunking implementation. More...

#include <advanced_structures.hpp>

Public Member Functions

 SemanticBoundariesChunk (double threshold=0.5)
 
std::vector< std::vector< T > > chunk (const std::vector< T > &data)
 

Protected Member Functions

virtual bool isBoundary (const std::vector< T > &chunk)
 

Private Attributes

double boundary_threshold
 

Detailed Description

template<typename T>
class advanced_structures::SemanticBoundariesChunk< T >

Semantic boundaries-based chunking implementation.

Template Parameters
TThe type of elements to be chunked

Definition at line 505 of file advanced_structures.hpp.

Constructor & Destructor Documentation

◆ SemanticBoundariesChunk()

template<typename T >
advanced_structures::SemanticBoundariesChunk< T >::SemanticBoundariesChunk ( double  threshold = 0.5)
inlineexplicit

Member Function Documentation

◆ chunk()

template<typename T >
std::vector< std::vector< T > > advanced_structures::SemanticBoundariesChunk< T >::chunk ( const std::vector< T > &  data)
inline

Definition at line 512 of file advanced_structures.hpp.

512 {
513 std::vector<std::vector<T>> result;
514 if (data.empty())
515 return result;
516
517 std::vector<T> current_chunk;
518 for (const auto& item : data) {
519 current_chunk.push_back(item);
520 if (isBoundary(current_chunk)) {
521 result.push_back(current_chunk);
522 current_chunk.clear();
523 }
524 }
525
526 if (!current_chunk.empty()) {
527 result.push_back(current_chunk);
528 }
529
530 return result;
531 }
virtual bool isBoundary(const std::vector< T > &chunk)

References advanced_structures::SemanticBoundariesChunk< T >::isBoundary().

Referenced by advanced_structures::SemanticBoundariesChunk< T >::isBoundary(), and TEST().

◆ isBoundary()

template<typename T >
virtual bool advanced_structures::SemanticBoundariesChunk< T >::isBoundary ( const std::vector< T > &  chunk)
inlineprotectedvirtual

Definition at line 534 of file advanced_structures.hpp.

534 {
535 return chunk.size() >= 3; // Default implementation
536 }
std::vector< std::vector< T > > chunk(const std::vector< T > &data)

References advanced_structures::SemanticBoundariesChunk< T >::chunk().

Referenced by advanced_structures::SemanticBoundariesChunk< T >::chunk().

Member Data Documentation

◆ boundary_threshold

template<typename T >
double advanced_structures::SemanticBoundariesChunk< T >::boundary_threshold
private

Definition at line 507 of file advanced_structures.hpp.


The documentation for this class was generated from the following file: