|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Input/Output container for computation pipeline data flow with structure preservation. More...
#include <DataIO.hpp>
Inheritance diagram for MayaFlux::Yantra::Datum< T >:
Collaboration diagram for MayaFlux::Yantra::Datum< T >:Public Member Functions | |
| Datum ()=default | |
| Default constructor. | |
| Datum (const T &d) | |
| Construct from data by copy with automatic structure inference. | |
| Datum (const T &d, const std::shared_ptr< Kakshya::SignalSourceContainer > &cont) | |
| Construct from data by copy with container reference and automatic structure inference. | |
| Datum (T &&d) | |
| Construct from data by move with automatic structure inference. | |
| Datum (T &&d, const std::shared_ptr< Kakshya::SignalSourceContainer > &cont) | |
| Construct from data by move with automatic structure inference. | |
| Datum (T &&d, const std::shared_ptr< Kakshya::SignalSourceContainer > container, std::vector< Kakshya::DataDimension > dims, Kakshya::DataModality mod) | |
| Construct with move and explicit structure information. | |
| Datum (T &&d, std::vector< Kakshya::DataDimension > dims, Kakshya::DataModality mod) | |
| Construct with move and explicit structure information. | |
| int | find_dimension_by_role (Kakshya::DataDimension::Role role) const |
| Find dimension by semantic role. | |
| template<typename ValueType > | |
| std::optional< ValueType > | get_metadata (const std::string &key) const |
| Get metadata entry with type safety. | |
| uint64_t | get_total_elements () const |
| Get total number of elements across all dimensions. | |
| bool | has_container () const |
| Check if a container reference is associated. | |
| bool | has_modality (Kakshya::DataModality target_modality) const |
| Check if data has specific modality. | |
| bool | is_suitable_for_processing (Kakshya::DataModality required_modality, size_t min_dimensions=1) const |
| Check if data is suitable for a specific type of processing. | |
| bool | needs_processig () const |
| Check if processing is needed (for container types) | |
| T & | operator* () |
| Access underlying data (mutable) | |
| const T & | operator* () const |
| Access underlying data (const) | |
| void | set_container (const std::shared_ptr< Kakshya::SignalSourceContainer > &cont) |
| Set or update the associated container reference. | |
| void | set_container_processing (bool val) |
| Set whether processing is needed (for container types) | |
| template<typename ValueType > | |
| void | set_metadata (const std::string &key, ValueType &&value) |
| Add or update metadata entry. | |
| void | update_structure (std::vector< Kakshya::DataDimension > new_dims, Kakshya::DataModality new_modality) |
| Update structure information (use carefully!) | |
Public Attributes | |
| bool | b_container_processing {} |
| std::optional< std::shared_ptr< Kakshya::SignalSourceContainer > > | container |
| Optional reference to container, required for regions. | |
| T | data |
| The actual computation data. | |
| std::vector< Kakshya::DataDimension > | dimensions |
| Data dimensional structure. | |
| std::unordered_map< std::string, std::any > | metadata |
| Associated metadata. | |
| Kakshya::DataModality | modality {} |
| Data modality (audio, image, spectral, etc.) | |
Input/Output container for computation pipeline data flow with structure preservation.
| T | Data type that satisfies ComputeData concept |
Encapsulates data with associated structure information and metadata for pipeline operations. The structure (dimensions and modality) is automatically inferred at construction time, ensuring that all data flowing through operations carries its dimensional context.
Key Features:
Definition at line 24 of file DataIO.hpp.