CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::TypeInfo Class Referenceabstract

#include <CeresEngine/Reflection/TypeInfo.hpp>

Inheritance diagram for CeresEngine::TypeInfo:
CeresEngine::TTypeInfoBase< T, impl::TConstructibleTypeTrait, impl::TDestructibleTypeTrait, impl::TCopyableTypeTrait, impl::TMovableTypeTrait, impl::TIterableTypeTrait, impl::TPushBackableTypeTrait, impl::TIndexableTypeTrait, impl::TInsertableTypeTrait, impl::TErasableTypeTrait > CeresEngine::ArrayTypeInfo CeresEngine::ByteTypeInfo CeresEngine::ConstTypeInfo CeresEngine::MemberPointerTypeInfo CeresEngine::NullTypeInfo CeresEngine::PointerTypeInfo CeresEngine::PrimitiveTypeInfo CeresEngine::ReferenceTypeInfo CeresEngine::TTypeInfoBase< T, Traits > CeresEngine::VoidTypeInfo

Public Member Functions

virtual ~TypeInfo ()=default
 
virtual StringView getName () const noexcept=0
 
TypeID getID () const noexcept
 
virtual TypeIdentityHash getIdentityHash () const noexcept=0
 
virtual const TypeInfodesugar () const
 Desugar the type into a raw type.
 
virtual std::size_t getSize () const noexcept=0
 
virtual std::size_t getAlignment () const noexcept=0
 
template<typename T >
bool is () const noexcept
 
template<typename T >
const Tas () const noexcept
 
template<typename T >
const Tbeing () const noexcept
 
const TypeInforemoveReference () const
 
const TypeInforemovePointer () const
 
const TypeInforemoveConst () const
 
virtual const TypeInfogetType (TypeAttribute attribute) const =0
 
virtual const voidaccess (const void *target) const
 Provides access to the object.
 

Constructor & Destructor Documentation

◆ ~TypeInfo()

virtual CeresEngine::TypeInfo::~TypeInfo ( )
virtualdefault

Member Function Documentation

◆ access()

virtual const void * CeresEngine::TypeInfo::access ( const void target) const
inlinevirtual

Provides access to the object.

Returns a pointer to the object from the given storage at target.

Parameters
targetA pointer to the raw memory where the object is stored on.
Returns
A raw pointer to the object on the given storage address.

Reimplemented in CeresEngine::ReferenceTypeInfo, CeresEngine::ConstTypeInfo, CeresEngine::TTypeInfoBase< T, Traits >, and CeresEngine::TTypeInfoBase< T, impl::TConstructibleTypeTrait, impl::TDestructibleTypeTrait, impl::TCopyableTypeTrait, impl::TMovableTypeTrait, impl::TIterableTypeTrait, impl::TPushBackableTypeTrait, impl::TIndexableTypeTrait, impl::TInsertableTypeTrait, impl::TErasableTypeTrait >.

◆ as()

template<typename T >
const T * CeresEngine::TypeInfo::as ( ) const
inlinenoexcept

◆ being()

template<typename T >
const T * CeresEngine::TypeInfo::being ( ) const
inlinenoexcept

◆ desugar()

virtual const TypeInfo & CeresEngine::TypeInfo::desugar ( ) const
inlinevirtual

◆ getAlignment()

◆ getID()

TypeID CeresEngine::TypeInfo::getID ( ) const
inlinenoexcept

◆ getIdentityHash()

◆ getName()

◆ getSize()

◆ getType()

◆ is()

template<typename T >
bool CeresEngine::TypeInfo::is ( ) const
inlinenoexcept

◆ removeConst()

const TypeInfo & CeresEngine::TypeInfo::removeConst ( ) const

◆ removePointer()

const TypeInfo & CeresEngine::TypeInfo::removePointer ( ) const

◆ removeReference()

const TypeInfo & CeresEngine::TypeInfo::removeReference ( ) const

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