Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::TFixedMapBase< Entries > Class Template Referencefinal

#include <fixed_map_base.h>

Public Types

using EntryArray = std::tuple<Entries...>
 
using Key = typename std::tuple_element_t<0, EntryArray>::Key
 
template<std::size_t ENTRY_INDEX>
using Entry = std::tuple_element_t<ENTRY_INDEX, EntryArray>
 

Public Member Functions

 TFixedMapBase ()=default
 
 TFixedMapBase (TFixedMapBase &&other)=default
 
 TFixedMapBase (Entries &&... entries)
 
template<std::size_t ENTRY_INDEX>
decltype(auto) getEntry ()
 
template<std::size_t ENTRY_INDEX>
decltype(auto) getEntry () const
 
template<Key KEY>
decltype(auto) get ()
 
template<Key KEY>
decltype(auto) get () const
 
TFixedMapBaseoperator= (TFixedMapBase &&rhs)=default
 

Static Public Member Functions

template<Key KEY, std::size_t D_ENTRY_INDEX = 0>
static constexpr bool hasKey ()
 
template<std::size_t ENTRY_INDEX>
static constexpr Key entryKey ()
 
template<Key KEY, std::size_t D_ENTRY_INDEX = 0>
static constexpr std::size_t entryIndex ()
 

Static Public Attributes

static constexpr std::size_t ENTRY_ARRAY_SIZE = std::tuple_size_v<EntryArray>
 

Member Typedef Documentation

◆ Entry

template<typename... Entries>
template<std::size_t ENTRY_INDEX>
using ph::TFixedMapBase< Entries >::Entry = std::tuple_element_t<ENTRY_INDEX, EntryArray>

◆ EntryArray

template<typename... Entries>
using ph::TFixedMapBase< Entries >::EntryArray = std::tuple<Entries...>

◆ Key

template<typename... Entries>
using ph::TFixedMapBase< Entries >::Key = typename std::tuple_element_t<0, EntryArray>::Key

Constructor & Destructor Documentation

◆ TFixedMapBase() [1/3]

template<typename... Entries>
ph::TFixedMapBase< Entries >::TFixedMapBase ( )
default

◆ TFixedMapBase() [2/3]

template<typename... Entries>
ph::TFixedMapBase< Entries >::TFixedMapBase ( TFixedMapBase< Entries > && other)
default

◆ TFixedMapBase() [3/3]

template<typename... Entries>
ph::TFixedMapBase< Entries >::TFixedMapBase ( Entries &&... entries)
inline

Member Function Documentation

◆ entryIndex()

template<typename... Entries>
template<Key KEY, std::size_t D_ENTRY_INDEX = 0>
static constexpr std::size_t ph::TFixedMapBase< Entries >::entryIndex ( )
inlinestaticconstexpr

◆ entryKey()

template<typename... Entries>
template<std::size_t ENTRY_INDEX>
static constexpr Key ph::TFixedMapBase< Entries >::entryKey ( )
inlinestaticconstexpr

◆ get() [1/2]

template<typename... Entries>
template<Key KEY>
decltype(auto) ph::TFixedMapBase< Entries >::get ( )
inline

◆ get() [2/2]

template<typename... Entries>
template<Key KEY>
decltype(auto) ph::TFixedMapBase< Entries >::get ( ) const
inline

◆ getEntry() [1/2]

template<typename... Entries>
template<std::size_t ENTRY_INDEX>
decltype(auto) ph::TFixedMapBase< Entries >::getEntry ( )
inline

◆ getEntry() [2/2]

template<typename... Entries>
template<std::size_t ENTRY_INDEX>
decltype(auto) ph::TFixedMapBase< Entries >::getEntry ( ) const
inline

◆ hasKey()

template<typename... Entries>
template<Key KEY, std::size_t D_ENTRY_INDEX = 0>
static constexpr bool ph::TFixedMapBase< Entries >::hasKey ( )
inlinestaticconstexpr

◆ operator=()

template<typename... Entries>
TFixedMapBase & ph::TFixedMapBase< Entries >::operator= ( TFixedMapBase< Entries > && rhs)
default

Member Data Documentation

◆ ENTRY_ARRAY_SIZE

template<typename... Entries>
std::size_t ph::TFixedMapBase< Entries >::ENTRY_ARRAY_SIZE = std::tuple_size_v<EntryArray>
staticconstexpr

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