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

◆ get_structure_info()

template<OperationReadyData T>
static DataStructureInfo MayaFlux::Yantra::OperationHelper::get_structure_info ( T &  compute_data)
inlinestatic

Populate DataStructureInfo from a Datum without extracting spans.

Template Parameters
TOperationReadyData type.
Parameters
compute_dataSource Datum.
Returns
DataStructureInfo with original_type, dimensions, modality populated.

Definition at line 316 of file OperationHelper.hpp.

317 {
318 if constexpr (is_IO<T>::value) {
319 DataStructureInfo info {};
320 info.original_type = std::type_index(typeid(std::decay_t<decltype(compute_data.data)>));
321 info.dimensions = compute_data.dimensions;
322 info.modality = compute_data.modality;
323 return info;
324 } else {
325 DataStructureInfo info {};
326 info.original_type = std::type_index(typeid(T));
327 auto [dims, mod] = infer_structure(compute_data);
328 info.dimensions = std::move(dims);
329 info.modality = mod;
330 return info;
331 }
332 }
static std::pair< std::vector< Kakshya::DataDimension >, Kakshya::DataModality > infer_structure(const T &data, const std::shared_ptr< Kakshya::SignalSourceContainer > &container=nullptr)
Infer dimensions and modality from any ComputeData type.

References MayaFlux::Yantra::DataStructureInfo::original_type.

Referenced by MayaFlux::Yantra::GpuExecutionContext< InputType, OutputType >::extract_inputs().

+ Here is the caller graph for this function: