|
MayaFlux 0.1.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 | |
| DataInsertion (DataVariant &variant, std::vector< DataDimension > &dimensions, DataModality &modality) | |
| 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. | |
| template<typename T > | |
| void | insert_from_span (std::span< const T > data_span, DataModality target_modality) |
| Insert data from span (copy operation) | |
| template<typename From , typename To > | |
| void | insert_converted (const std::vector< From > &source, DataModality target_modality) |
| Convert and insert from different type. | |
| void | reserve_space (size_t element_count, DataModality target_modality) |
| Reserve space without initialization. | |
| void | clear_data () |
| Clear all data while preserving modality. | |
| DataModality | current_modality () const |
| bool | is_empty () const |
Private Member Functions | |
| 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. | |
| template<GlmType T> | |
| DataDimension | create_structured_dimension (uint64_t element_count, DataModality modality) const |
| Create dimension descriptor for structured data. | |
| template<typename T > | |
| void | append_to_existing (std::vector< T > new_data) |
| Append scalar data to existing storage. | |
| template<GlmType T> | |
| void | append_structured_to_existing (std::vector< T > new_data) |
| Append structured data to existing storage. | |
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 | |
| DataVariant & | m_variant |
| std::vector< DataDimension > & | m_dimensions |
| DataModality & | m_modality |
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 22 of file DataInsertion.hpp.