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

◆ IO() [5/7]

template<ComputeData T = std::vector<Kakshya::DataVariant>>
MayaFlux::Yantra::IO< T >::IO ( T &&  d,
const std::shared_ptr< Kakshya::SignalSourceContainer > &  cont 
)
inline

Construct from data by move with automatic structure inference.

Parameters
dData to move into the container
contShared pointer to the associated RegionLike Data

Automatically infers dimensions and modality before moving the data. More efficient for large data structures.

Definition at line 93 of file DataIO.hpp.

94 : data(std::move(d))
95 , container(cont)
96 {
97 auto [dims, mod] = infer_structure(data);
98 dimensions = std::move(dims);
99 modality = mod;
100 }
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.
T data
The actual computation data.
Definition DataIO.hpp:25
std::optional< std::shared_ptr< Kakshya::SignalSourceContainer > > container
Optional reference to container, required for regions.
Definition DataIO.hpp:31
std::vector< Kakshya::DataDimension > dimensions
Data dimensional structure.
Definition DataIO.hpp:26
Kakshya::DataModality modality
Data modality (audio, image, spectral, etc.)
Definition DataIO.hpp:27