MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ sort_chunked()

template<ComputeData InputType = Kakshya::DataVariant, ComputeData OutputType = InputType>
output_type MayaFlux::Yantra::StandardSorter< InputType, OutputType >::sort_chunked ( const input_type &  data)
inlineprivate

Chunked sorting implementation.

Definition at line 326 of file StandardSorter.hpp.

327 {
328 try {
329 auto [data_span, structure_info] = OperationHelper::extract_structured_double(
330 const_cast<input_type&>(data));
331 return merge_chunks_to_result(extract_chunked_data(data_span, structure_info), data, structure_info);
332
333 } catch (...) {
334 return { sort_data_copy(data) };
335 }
336 }
static std::tuple< std::vector< std::span< double > >, DataStructureInfo > extract_structured_double(T &compute_data)
Extract structured double data from Datum container or direct ComputeData with automatic container ha...
InputType sort_data_copy(const input_type &data)
Sort data with copy semantics.
typename base_type::input_type input_type
output_type merge_chunks_to_result(const std::vector< InputType > &chunks, const input_type &original_input, DataStructureInfo info)
Merge chunks back to single result.
std::vector< InputType > extract_chunked_data(std::vector< std::span< double > > channels, DataStructureInfo info)

References MayaFlux::Yantra::StandardSorter< InputType, OutputType >::extract_chunked_data(), MayaFlux::Yantra::OperationHelper::extract_structured_double(), MayaFlux::Yantra::StandardSorter< InputType, OutputType >::merge_chunks_to_result(), and MayaFlux::Yantra::StandardSorter< InputType, OutputType >::sort_data_copy().

Referenced by MayaFlux::Yantra::StandardSorter< InputType, OutputType >::sort_implementation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: