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

◆ insert_scalar()

template<typename T >
requires std::is_arithmetic_v<T>
void MayaFlux::Kakshya::DataInsertion::insert_scalar ( std::vector< T >  data,
DataModality  target_modality,
bool  replace_existing = true 
)
inline

Insert scalar array data.

Template Parameters
TScalar arithmetic type (float, double, int, etc.)
Parameters
dataSource data
target_modalitySemantic interpretation of data
replace_existingIf true, replaces existing data; if false, appends

Definition at line 42 of file DataInsertion.hpp.

45 {
46 validate_scalar_insertion(target_modality);
47
48 if (replace_existing) {
49 m_variant = std::move(data);
50 m_modality = target_modality;
51
52 m_dimensions.clear();
53 m_dimensions.emplace_back(
54 modality_to_dimension_name(target_modality),
55 static_cast<uint64_t>(data.size()),
56 1,
57 modality_to_role(target_modality));
58 } else {
59 append_to_existing(std::move(data));
60 }
61 }
static std::string modality_to_dimension_name(DataModality modality)
Convert modality to appropriate dimension name.
std::vector< DataDimension > & m_dimensions
void validate_scalar_insertion(DataModality modality) const
Validate scalar insertion matches modality expectations.
void append_to_existing(std::vector< T > new_data)
Append scalar data to existing storage.
static DataDimension::Role modality_to_role(DataModality modality)
Convert modality to dimension role.