MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Kakshya::DataAccess Class Reference

Type-erased accessor for NDData with semantic view construction. More...

#include <DataAccess.hpp>

+ Collaboration diagram for MayaFlux::Kakshya::DataAccess:

Public Member Functions

 DataAccess (DataVariant &variant, const std::vector< DataDimension > &dimensions, DataModality modality)
 
template<typename T >
auto view () const
 Get explicit typed view of data.
 
auto gpu_buffer () const
 Get raw buffer info for GPU upload.
 
DataModality modality () const
 
bool is_structured () const
 
size_t element_count () const
 
size_t component_count () const
 
std::string type_description () const
 
std::string_view suggested_view_type () const
 Get suggested view type for this data's modality.
 

Private Member Functions

template<typename T >
requires std::is_arithmetic_v<T>
std::span< const T > create_scalar_view () const
 
template<typename T >
void validate_structured_access () const
 
template<typename T >
void * ensure_conversion_cache (size_t required_bytes) const
 Ensure conversion cache exists and is properly sized.
 

Static Private Member Functions

template<typename T >
static uint32_t get_format_hint ()
 

Private Attributes

DataVariantm_variant
 
const std::vector< DataDimension > & m_dimensions
 
DataModality m_modality
 
std::optional< std::vector< uint8_t > > m_conversion_cache
 

Detailed Description

Type-erased accessor for NDData with semantic view construction.

Provides a unified interface to access data either as structured types (glm::vec3, etc.) or as scalar arrays (double, float), based on modality and user intent. Container classes remain template-free.

Definition at line 19 of file DataAccess.hpp.


The documentation for this class was generated from the following file: