CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::NamedType< T, Parameter, Skills > Class Template Reference

#include <CeresEngine/Foundation/NamedType.hpp>

Inheritance diagram for CeresEngine::NamedType< T, Parameter, Skills >:

Public Types

using UnderlyingType = T
 
using ReferenceType = NamedType< T &, Parameter, Skills... >
 

Public Member Functions

 NamedType ()=default
 
constexpr NamedType (T const &value) noexcept(std::is_nothrow_copy_constructible< T >::value)
 
template<typename TType = T, typename = IsNotReference<TType>>
constexpr NamedType (T &&value) noexcept(std::is_nothrow_move_constructible< T >::value)
 
constexpr Tget () noexcept
 
constexpr std::remove_reference_t< T > constget () const noexcept
 
 operator ReferenceType ()
 

Public Attributes

T raw
 

Member Typedef Documentation

◆ ReferenceType

template<typename T , typename Parameter , template< typename > class... Skills>
using CeresEngine::NamedType< T, Parameter, Skills >::ReferenceType = NamedType<T&, Parameter, Skills...>

◆ UnderlyingType

template<typename T , typename Parameter , template< typename > class... Skills>
using CeresEngine::NamedType< T, Parameter, Skills >::UnderlyingType = T

Constructor & Destructor Documentation

◆ NamedType() [1/3]

template<typename T , typename Parameter , template< typename > class... Skills>
CeresEngine::NamedType< T, Parameter, Skills >::NamedType ( )
default

◆ NamedType() [2/3]

template<typename T , typename Parameter , template< typename > class... Skills>
constexpr CeresEngine::NamedType< T, Parameter, Skills >::NamedType ( T const value)
inlineexplicitconstexprnoexcept

◆ NamedType() [3/3]

template<typename T , typename Parameter , template< typename > class... Skills>
template<typename TType = T, typename = IsNotReference<TType>>
constexpr CeresEngine::NamedType< T, Parameter, Skills >::NamedType ( T &&  value)
inlineexplicitconstexprnoexcept

Member Function Documentation

◆ get() [1/2]

template<typename T , typename Parameter , template< typename > class... Skills>
constexpr std::remove_reference_t< T > const & CeresEngine::NamedType< T, Parameter, Skills >::get ( ) const
inlineconstexprnoexcept

◆ get() [2/2]

template<typename T , typename Parameter , template< typename > class... Skills>
constexpr T & CeresEngine::NamedType< T, Parameter, Skills >::get ( )
inlineconstexprnoexcept

◆ operator ReferenceType()

template<typename T , typename Parameter , template< typename > class... Skills>
CeresEngine::NamedType< T, Parameter, Skills >::operator ReferenceType ( )
inline

Member Data Documentation

◆ raw

template<typename T , typename Parameter , template< typename > class... Skills>
T CeresEngine::NamedType< T, Parameter, Skills >::raw

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