MayaFlux 0.3.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 40 of file DataInsertion.hpp.

43 {
44 validate_scalar_insertion(target_modality);
45
46 if (replace_existing) {
47 m_variant = std::move(data);
48 m_modality = target_modality;
49
50 m_dimensions.clear();
51 m_dimensions.emplace_back(
52 modality_to_dimension_name(target_modality),
53 static_cast<uint64_t>(data.size()),
54 1,
55 modality_to_role(target_modality));
56 } else {
57 append_to_existing(std::move(data));
58 }
59 }
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.