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

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

Inheritance diagram for CeresEngine::PointerTypeInfo:
CeresEngine::EqualityComparableTypeTrait CeresEngine::IncrementableTypeTrait CeresEngine::DereferenceableTypeTrait CeresEngine::DestructibleTypeTrait CeresEngine::MovableTypeTrait CeresEngine::CopyableTypeTrait CeresEngine::ConstructibleTypeTrait CeresEngine::TypeInfo

Public Member Functions

 PointerTypeInfo (const TypeIdentityHash hash, const TypeInfo &type)
 
StringView getName () const noexcept override
 
std::size_t getSize () const noexcept final
 
std::size_t getAlignment () const noexcept final
 
TypeIdentityHash getIdentityHash () const noexcept override
 
const TypeInfodesugar () const final
 Desugar the type into a raw type.
 
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
 
Box dereference (const Box &value) const final
 Dereferences the value at value.
 
void increment (const Box &value) const override
 
bool equals (const Box &lhs, const Box &rhs) const override
 
bool notEquals (const Box &lhs, const Box &rhs) const override
 
- Public Member Functions inherited from CeresEngine::TypeInfo
virtual ~TypeInfo ()=default
 
TypeID getID () const noexcept
 
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

const TypeInfotype
 

Private Attributes

const TypeIdentityHash mIdentityHash
 
String mName
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ PointerTypeInfo()

CeresEngine::PointerTypeInfo::PointerTypeInfo ( const TypeIdentityHash  hash,
const TypeInfo type 
)
explicit

Member Function Documentation

◆ construct()

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

◆ copy()

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

◆ dereference()

Box CeresEngine::PointerTypeInfo::dereference ( const Box value) const
finalvirtual

Dereferences the value at value.

Must return a reference (or a value) that is the result of dereferencing the given value.

Implements CeresEngine::DereferenceableTypeTrait.

◆ destroy()

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

◆ desugar()

const TypeInfo & CeresEngine::PointerTypeInfo::desugar ( ) const
finalvirtual

Desugar the type into a raw type.

Reimplemented from CeresEngine::TypeInfo.

◆ equals()

bool CeresEngine::PointerTypeInfo::equals ( const Box lhs,
const Box rhs 
) const
overridevirtual

◆ getAlignment()

std::size_t CeresEngine::PointerTypeInfo::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::PointerTypeInfo::getIdentityHash ( ) const
overridevirtualnoexcept

Returns
The type identity hash.

Implements CeresEngine::TypeInfo.

◆ getName()

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

Implements CeresEngine::TypeInfo.

◆ getSize()

std::size_t CeresEngine::PointerTypeInfo::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::PointerTypeInfo::getType ( TypeAttribute  attribute) const
finalvirtual

Implements CeresEngine::TypeInfo.

◆ increment()

void CeresEngine::PointerTypeInfo::increment ( const Box value) const
overridevirtual

◆ move()

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

◆ notEquals()

bool CeresEngine::PointerTypeInfo::notEquals ( const Box lhs,
const Box rhs 
) const
overridevirtual

Member Data Documentation

◆ mIdentityHash

const TypeIdentityHash CeresEngine::PointerTypeInfo::mIdentityHash
private

◆ mName

String CeresEngine::PointerTypeInfo::mName
mutableprivate

◆ type

const TypeInfo& CeresEngine::PointerTypeInfo::type

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