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

◆ sort_compute_data_inplace()

template<ComputeData T>
void MayaFlux::Yantra::sort_compute_data_inplace ( Datum< T > &  data,
SortingDirection  direction,
SortingAlgorithm  algorithm 
)

Universal sort function - handles extraction/conversion internally.

Template Parameters
TComputeData type
Parameters
dataData to sort (modified in-place)
directionSort direction
algorithmSort algorithm

Definition at line 40 of file SortingHelper.hpp.

43{
44 if constexpr (RequiresContainer<T>) {
45 if (!data.has_container()) {
46 error<std::runtime_error>(Journal::Component::Yantra, Journal::Context::ComputeMatrix, std::source_location::current(), "Region-like types require container - use UniversalSorter instead");
47 }
48 auto channels = OperationHelper::extract_numeric_data(data.data, data.container.value());
49 Kinesis::Discrete::sort_channels(channels, direction, algorithm);
50 return;
51 }
52
53 auto channels = OperationHelper::extract_numeric_data(data.data, data.needs_processig());
54 Kinesis::Discrete::sort_channels(channels, direction, algorithm);
55}
T data
The actual computation data.
Definition DataIO.hpp:25
bool has_container() const
Check if a container reference is associated.
Definition DataIO.hpp:155
bool needs_processig() const
Check if processing is needed (for container types)
Definition DataIO.hpp:164
std::optional< std::shared_ptr< Kakshya::SignalSourceContainer > > container
Optional reference to container, required for regions.
Definition DataIO.hpp:31

References MayaFlux::Journal::ComputeMatrix, MayaFlux::Yantra::Datum< T >::container, MayaFlux::Yantra::Datum< T >::data, MayaFlux::Yantra::OperationHelper::extract_numeric_data(), MayaFlux::Yantra::Datum< T >::has_container(), MayaFlux::Yantra::Datum< T >::needs_processig(), MayaFlux::Kinesis::Discrete::sort_channels(), and MayaFlux::Journal::Yantra.

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

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