SubDescriptor< _descriptors > Struct Template Reference#

DiFfRG: DiFfRG::SubDescriptor< _descriptors > Struct Template Reference
DiFfRG
DiFfRG::SubDescriptor< _descriptors > Struct Template Reference

#include <component_descriptor.hh>

Public Types

using descriptor_tuple = std::tuple<_descriptors...>
 

Public Member Functions

template<unsigned N>
consteval size_t get (FixedString< N > name) const
 
template<unsigned N>
consteval size_t operator[] (FixedString< N > name) const
 
template<unsigned N>
consteval size_t operator() (FixedString< N > name) const
 
template<unsigned N>
consteval size_t operator[] (char const(&arr)[N]) const
 
template<unsigned N>
consteval size_t operator() (char const(&arr)[N]) const
 
consteval char const * name (size_t index) const
 
consteval std::array< const char *, sizeof...(_descriptors)> get_names () const
 
template<unsigned N>
consteval size_t size (char const(&arr)[N]) const
 

Static Public Member Functions

static std::vector< std::string > get_names_vector ()
 

Static Public Attributes

static constexpr auto names_tuple = std::tie(_descriptors::name...)
 
static constexpr std::array< const char *, sizeof...(_descriptors)> names {{_descriptors::name...}}
 
static constexpr std::array< size_t, sizeof...(_descriptors)> sizes {{_descriptors::size...}}
 
static constexpr size_t total_size = (0 + ... + _descriptors::size)
 

Member Typedef Documentation

◆ descriptor_tuple

template<typename... _descriptors>
using DiFfRG::SubDescriptor< _descriptors >::descriptor_tuple = std::tuple<_descriptors...>

Member Function Documentation

◆ get()

template<typename... _descriptors>
template<unsigned N>
size_t DiFfRG::SubDescriptor< _descriptors >::get ( FixedString< N > name) const
inlineconsteval

◆ get_names()

template<typename... _descriptors>
std::array< const char *, sizeof...(_descriptors)> DiFfRG::SubDescriptor< _descriptors >::get_names ( ) const
inlineconsteval

◆ get_names_vector()

template<typename... _descriptors>
static std::vector< std::string > DiFfRG::SubDescriptor< _descriptors >::get_names_vector ( )
inlinestatic

◆ name()

template<typename... _descriptors>
char const * DiFfRG::SubDescriptor< _descriptors >::name ( size_t index) const
inlineconsteval

◆ operator()() [1/2]

template<typename... _descriptors>
template<unsigned N>
size_t DiFfRG::SubDescriptor< _descriptors >::operator() ( char const(&) arr[N]) const
inlineconsteval

◆ operator()() [2/2]

template<typename... _descriptors>
template<unsigned N>
size_t DiFfRG::SubDescriptor< _descriptors >::operator() ( FixedString< N > name) const
inlineconsteval

◆ operator[]() [1/2]

template<typename... _descriptors>
template<unsigned N>
size_t DiFfRG::SubDescriptor< _descriptors >::operator[] ( char const(&) arr[N]) const
inlineconsteval

◆ operator[]() [2/2]

template<typename... _descriptors>
template<unsigned N>
size_t DiFfRG::SubDescriptor< _descriptors >::operator[] ( FixedString< N > name) const
inlineconsteval

◆ size()

template<typename... _descriptors>
template<unsigned N>
size_t DiFfRG::SubDescriptor< _descriptors >::size ( char const(&) arr[N]) const
inlineconsteval

Member Data Documentation

◆ names

template<typename... _descriptors>
std::array<const char *, sizeof...(_descriptors)> DiFfRG::SubDescriptor< _descriptors >::names {{_descriptors::name...}}
staticconstexpr

◆ names_tuple

template<typename... _descriptors>
auto DiFfRG::SubDescriptor< _descriptors >::names_tuple = std::tie(_descriptors::name...)
staticconstexpr

◆ sizes

template<typename... _descriptors>
std::array<size_t, sizeof...(_descriptors)> DiFfRG::SubDescriptor< _descriptors >::sizes {{_descriptors::size...}}
staticconstexpr

◆ total_size

template<typename... _descriptors>
size_t DiFfRG::SubDescriptor< _descriptors >::total_size = (0 + ... + _descriptors::size)
staticconstexpr

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