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

◆ sort_compute_data_extract() [2/2]

template<ComputeData T>
T MayaFlux::Yantra::sort_compute_data_extract ( const T &  data,
SortingDirection  direction,
SortingAlgorithm  algorithm 
)

Universal sort function - returns sorted copy.

Template Parameters
TComputeData type
Parameters
dataData to sort (not modified)
directionSort direction
algorithmSort algorithm
Returns
Sorted copy of the data

Definition at line 272 of file SortingHelper.hpp.

275{
276 if constexpr (RequiresContainer<T>) {
277 static_assert(std::is_same_v<T, void>,
278 "Region-like types require container parameter - use UniversalSorter instead");
279 return T {};
280 }
281
282 std::vector<std::vector<double>> working_buffer;
283 auto [working_spans, structure_info] = OperationHelper::setup_operation_buffer(
284 const_cast<T&>(data), working_buffer);
285
286 sort_channels_inplace(working_spans, direction, algorithm);
287
288 return OperationHelper::reconstruct_from_double<T>(working_buffer, structure_info);
289}

References MayaFlux::Yantra::OperationHelper::setup_operation_buffer(), and sort_channels_inplace().

Referenced by sort_compute_data(), MayaFlux::Yantra::StandardSorter< InputType, OutputType >::sort_data_copy(), and MayaFlux::Yantra::StandardSorter< InputType, OutputType >::sort_data_partial().

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