CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::MetaArgument Class Referencefinal

#include <CeresEngine/Reflection/MetaArgument.hpp>

Public Member Functions

 MetaArgument () noexcept=default
 
 MetaArgument (const MetaArgument &)=delete
 
MetaArgumentoperator= (const MetaArgument &)=delete
 
 MetaArgument (MetaArgument &&) noexcept=default
 
MetaArgumentoperator= (MetaArgument &&)=delete
 
 ~MetaArgument () noexcept=default
 
 MetaArgument (const Box &value) noexcept
 
 MetaArgument (Box &&value) noexcept
 
template<typename T >
requires (!std::is_same_v<std::decay_t<T>, MetaArgument> && !std::is_same_v<std::decay_t<T>, Box> && !std::is_same_v<std::decay_t<T>, Box>)
 MetaArgument (T &&value) noexcept
 
bool empty () const noexcept
 
template<typename T >
T getValue () const
 

Private Member Functions

bool isMetaValue () const
 
template<typename T >
T getValue (std::integral_constant< int, 0 >) const
 
template<typename T >
T getValue (std::integral_constant< int, 1 >) const
 
template<typename T >
T getValue (std::integral_constant< int, 2 >) const
 
template<typename T >
T getValue (std::integral_constant< int, 3 >) const
 

Private Attributes

bool mRvalue
 
Box mValue
 
Box mDummy
 

Constructor & Destructor Documentation

◆ MetaArgument() [1/6]

CeresEngine::MetaArgument::MetaArgument ( )
defaultnoexcept

◆ MetaArgument() [2/6]

CeresEngine::MetaArgument::MetaArgument ( const MetaArgument )
delete

◆ MetaArgument() [3/6]

CeresEngine::MetaArgument::MetaArgument ( MetaArgument &&  )
defaultnoexcept

◆ ~MetaArgument()

CeresEngine::MetaArgument::~MetaArgument ( )
defaultnoexcept

◆ MetaArgument() [4/6]

CeresEngine::MetaArgument::MetaArgument ( const Box value)
inlinenoexcept

◆ MetaArgument() [5/6]

CeresEngine::MetaArgument::MetaArgument ( Box &&  value)
inlinenoexcept

◆ MetaArgument() [6/6]

template<typename T >
requires (!std::is_same_v<std::decay_t<T>, MetaArgument> && !std::is_same_v<std::decay_t<T>, Box> && !std::is_same_v<std::decay_t<T>, Box>)
CeresEngine::MetaArgument::MetaArgument ( T &&  value)
noexcept

Member Function Documentation

◆ empty()

bool CeresEngine::MetaArgument::empty ( ) const
inlinenoexcept

◆ getValue() [1/5]

template<typename T >
T CeresEngine::MetaArgument::getValue ( ) const

◆ getValue() [2/5]

template<typename T >
T CeresEngine::MetaArgument::getValue ( std::integral_constant< int, 0 >  ) const
private

◆ getValue() [3/5]

template<typename T >
T CeresEngine::MetaArgument::getValue ( std::integral_constant< int, 1 >  ) const
private

◆ getValue() [4/5]

template<typename T >
T CeresEngine::MetaArgument::getValue ( std::integral_constant< int, 2 >  ) const
private

◆ getValue() [5/5]

template<typename T >
T CeresEngine::MetaArgument::getValue ( std::integral_constant< int, 3 >  ) const
private

◆ isMetaValue()

bool CeresEngine::MetaArgument::isMetaValue ( ) const
inlineprivate

◆ operator=() [1/2]

MetaArgument & CeresEngine::MetaArgument::operator= ( const MetaArgument )
delete

◆ operator=() [2/2]

MetaArgument & CeresEngine::MetaArgument::operator= ( MetaArgument &&  )
delete

Member Data Documentation

◆ mDummy

Box CeresEngine::MetaArgument::mDummy
mutableprivate

◆ mRvalue

bool CeresEngine::MetaArgument::mRvalue
private

◆ mValue

Box CeresEngine::MetaArgument::mValue
mutableprivate

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