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

#include <CeresEngine/Reflection/TypeInfo.core.hpp>

Inheritance diagram for CeresEngine::PrimitiveTypeInfo:
CeresEngine::TypeInfo CeresEngine::ConstructibleTypeTrait CeresEngine::DestructibleTypeTrait CeresEngine::CopyableTypeTrait CeresEngine::MovableTypeTrait

Public Types

enum class  Kind {
  Char , WChar , UInt8 , Int8 ,
  UInt16 , Int16 , UInt32 , Int32 ,
  UInt64 , Int64 , Float , Double ,
  Boolean
}
 

Public Member Functions

 PrimitiveTypeInfo (const Kind kind)
 
StringView getName () const noexcept override
 
std::size_t getSize () const noexcept final
 
std::size_t getAlignment () const noexcept final
 
TypeIdentityHash getIdentityHash () const noexcept override
 
void construct (void *target) const final
 
void destroy (void *target) const final
 
void copy (void *target, const void *source) const final
 
void move (void *target, void *source) const final
 
const TypeInfogetType (TypeAttribute attribute) const final
 
- Public Member Functions inherited from CeresEngine::TypeInfo
virtual ~TypeInfo ()=default
 
TypeID getID () const noexcept
 
virtual const TypeInfodesugar () const
 Desugar the type into a raw type.
 
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 voidaccess (const void *target) const
 Provides access to the object.
 

Public Attributes

Kind kind
 

Additional Inherited Members

- Protected Member Functions inherited from CeresEngine::ConstructibleTypeTrait
 ~ConstructibleTypeTrait ()=default
 
- Protected Member Functions inherited from CeresEngine::DestructibleTypeTrait
 ~DestructibleTypeTrait ()=default
 
- Protected Member Functions inherited from CeresEngine::CopyableTypeTrait
 ~CopyableTypeTrait ()=default
 
- Protected Member Functions inherited from CeresEngine::MovableTypeTrait
 ~MovableTypeTrait ()=default
 

Member Enumeration Documentation

◆ Kind

Enumerator
Char 
WChar 
UInt8 
Int8 
UInt16 
Int16 
UInt32 
Int32 
UInt64 
Int64 
Float 
Double 
Boolean 

Constructor & Destructor Documentation

◆ PrimitiveTypeInfo()

CeresEngine::PrimitiveTypeInfo::PrimitiveTypeInfo ( const Kind  kind)
inlineexplicit

Member Function Documentation

◆ construct()

void CeresEngine::PrimitiveTypeInfo::construct ( void target) const
finalvirtual

◆ copy()

void CeresEngine::PrimitiveTypeInfo::copy ( void target,
const void source 
) const
finalvirtual

◆ destroy()

void CeresEngine::PrimitiveTypeInfo::destroy ( void target) const
finalvirtual

◆ getAlignment()

std::size_t CeresEngine::PrimitiveTypeInfo::getAlignment ( ) const
finalvirtualnoexcept

Returns
The size of the type, in bytes. Useful when allocating memory to construct an instance.

Implements CeresEngine::TypeInfo.

◆ getIdentityHash()

TypeIdentityHash CeresEngine::PrimitiveTypeInfo::getIdentityHash ( ) const
overridevirtualnoexcept

Returns
The type identity hash.

Implements CeresEngine::TypeInfo.

◆ getName()

StringView CeresEngine::PrimitiveTypeInfo::getName ( ) const
overridevirtualnoexcept

Implements CeresEngine::TypeInfo.

◆ getSize()

std::size_t CeresEngine::PrimitiveTypeInfo::getSize ( ) const
finalvirtualnoexcept

Returns
The size of the type, in bytes. Useful when allocating memory to construct an instance.

Implements CeresEngine::TypeInfo.

◆ getType()

const TypeInfo & CeresEngine::PrimitiveTypeInfo::getType ( TypeAttribute  attribute) const
finalvirtual

Implements CeresEngine::TypeInfo.

◆ move()

void CeresEngine::PrimitiveTypeInfo::move ( void target,
void source 
) const
finalvirtual

Member Data Documentation

◆ kind

Kind CeresEngine::PrimitiveTypeInfo::kind

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