gtopt::UidTraits struct

Traits for UID-based data access patterns.

Provides type aliases and mappings for accessing data using UID keys

Derived classes

struct InputTraits
Input data access traits.

Public types

template<typename... Uid>
using array_table_vector_uid_idx_t = std::tuple<array_uid_idx_map_t<Uid...>, table_uid_idx_map_t<Uid...>, vector_uid_idx_t<Uid...>>
template<typename... Uid>
using array_uid_idx_map_t = base_map_t<CFNameUid, arrow_array_uid_idx_t<Uid...>>
template<typename... Uid>
using array_vector_uid_idx_v = std::variant<arrow_array_uid_idx_t<Uid...>, vector_uid_idx_t<Uid...>>
template<typename... Uid>
using arrow_array_uid_idx_t = std::pair<ArrowChunkedArray, ArrowUidIdx<Uid...>>
template<typename... Uid>
using arrow_table_uid_idx_t = std::tuple<ArrowTable, ArrowUidIdx<Uid...>>
template<typename... Uid>
using ArrowUidIdx = UidToArrowIdx<Uid...>::UidIdx
template<typename Key, typename Value Value>
using base_map_t = gtopt::flat_map<Key, Value>
using CFName = std::tuple<ClassNameType, FieldNameType>
using CFNameUid = std::tuple<ClassNameType, FieldNameType, Uid>
using ClassNameType = std::string_view
using FieldNameType = std::string_view
template<typename... Uid>
using idx_key_t = UidToVectorIdx<Uid...>::IndexKey
template<typename value_type, typename... Uid>
using idx_vector_t = mvector_traits<value_type, idx_key_t<Uid...>>::vector_type
template<typename... Uid>
using table_uid_idx_map_t = base_map_t<CFName, arrow_table_uid_idx_t<Uid...>>
template<typename... Uid>
using vector_uid_idx_t = VectorUidIdx<Uid...>
template<typename... Uid>
using VectorUidIdx = UidToVectorIdx<Uid...>::UidIdx