|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Type-erased writer for NDData with semantic construction. More...
#include <DataInsertion.hpp>
Collaboration diagram for MayaFlux::Kakshya::DataInsertion:Public Member Functions | |
| void | clear_data () |
| Clear all data while preserving modality. | |
| DataModality | current_modality () const |
| DataInsertion (DataVariant &variant, std::vector< DataDimension > &dimensions, DataModality &modality) | |
| template<typename From , typename To > | |
| void | insert_converted (const std::vector< From > &source, DataModality target_modality) |
| Convert and insert from different type. | |
| template<typename T > | |
| void | insert_from_span (std::span< const T > data_span, DataModality target_modality) |
| Insert data from span (copy operation) | |
| template<typename T > requires std::is_arithmetic_v<T> | |
| void | insert_scalar (std::vector< T > data, DataModality target_modality, bool replace_existing=true) |
| Insert scalar array data. | |
| template<GlmType T> | |
| void | insert_structured (std::vector< T > data, DataModality target_modality, bool replace_existing=true) |
| Insert structured GLM data with automatic dimension setup. | |
| bool | is_empty () const |
| void | reserve_space (size_t element_count, DataModality target_modality) |
| Reserve space without initialization. | |
Private Member Functions | |
| template<GlmType T> | |
| void | append_structured_to_existing (std::vector< T > new_data) |
| Append structured data to existing storage. | |
| template<typename T > | |
| void | append_to_existing (std::vector< T > new_data) |
| Append scalar data to existing storage. | |
| template<GlmType T> | |
| DataDimension | create_structured_dimension (uint64_t element_count, DataModality modality) const |
| Create dimension descriptor for structured data. | |
| void | validate_scalar_insertion (DataModality modality) const |
| Validate scalar insertion matches modality expectations. | |
| template<GlmType T> | |
| void | validate_structured_insertion (DataModality modality) const |
| Validate structured insertion matches GLM component count. | |
Static Private Member Functions | |
| static std::string | modality_to_dimension_name (DataModality modality) |
| Convert modality to appropriate dimension name. | |
| static DataDimension::Role | modality_to_role (DataModality modality) |
| Convert modality to dimension role. | |
| static std::string_view | suggest_glm_type_for_modality (DataModality modality) |
| Suggest appropriate GLM type for a modality. | |
Private Attributes | |
| std::vector< DataDimension > & | m_dimensions |
| DataModality & | m_modality |
| DataVariant & | m_variant |
Type-erased writer for NDData with semantic construction.
Companion to DataAccess for write operations. Provides unified interface to insert data from various sources (GLM types, scalar arrays, etc.) into DataVariant storage while maintaining appropriate dimension metadata.
Design principle: All types are equal. GLM specializations exist for ergonomics, not privileged status.
Definition at line 20 of file DataInsertion.hpp.