XII Release 0.1.0
Loading...
Searching...
No Matches
xiiRTTIDefaultAllocator< CLASS, AllocatorWrapper > Struct Template Reference

Default implementation of xiiRTTIAllocator that allocates instances via the given allocator. More...

#include <RTTI.h>

Inheritance diagram for xiiRTTIDefaultAllocator< CLASS, AllocatorWrapper >:
[legend]

Public Member Functions

virtual xiiInternal::NewInstance< void > AllocateInternal (xiiAllocator *pAllocator) override
 Returns a new instance that was allocated with the given allocator.
virtual xiiInternal::NewInstance< void > CloneInternal (const void *pObject, xiiAllocator *pAllocator) override
 Clones the given instance with the given allocator.
virtual void Deallocate (void *pObject, xiiAllocator *pAllocator) override
 Deletes the given instance with the given allocator.
Public Member Functions inherited from xiiRTTIAllocator
virtual bool CanAllocate () const
 Returns whether the type that is represented by this allocator, can be dynamically allocated at runtime.
template<typename T>
xiiInternal::NewInstance< T > Allocate (xiiAllocator *pAllocator=nullptr)
 Allocates one instance.
template<typename T>
xiiInternal::NewInstance< T > Clone (const void *pObject, xiiAllocator *pAllocator=nullptr)
 Clones the given instance.

Detailed Description

template<typename CLASS, typename AllocatorWrapper = xiiDefaultAllocatorWrapper>
struct xiiRTTIDefaultAllocator< CLASS, AllocatorWrapper >

Default implementation of xiiRTTIAllocator that allocates instances via the given allocator.

Member Function Documentation

◆ AllocateInternal()

template<typename CLASS, typename AllocatorWrapper = xiiDefaultAllocatorWrapper>
virtual xiiInternal::NewInstance< void > xiiRTTIDefaultAllocator< CLASS, AllocatorWrapper >::AllocateInternal ( xiiAllocator * pAllocator)
inlineoverridevirtual

Returns a new instance that was allocated with the given allocator.

Implements xiiRTTIAllocator.

◆ CloneInternal()

template<typename CLASS, typename AllocatorWrapper = xiiDefaultAllocatorWrapper>
virtual xiiInternal::NewInstance< void > xiiRTTIDefaultAllocator< CLASS, AllocatorWrapper >::CloneInternal ( const void * pObject,
xiiAllocator * pAllocator )
inlineoverridevirtual

Clones the given instance with the given allocator.

Reimplemented from xiiRTTIAllocator.

◆ Deallocate()

template<typename CLASS, typename AllocatorWrapper = xiiDefaultAllocatorWrapper>
virtual void xiiRTTIDefaultAllocator< CLASS, AllocatorWrapper >::Deallocate ( void * pObject,
xiiAllocator * pAllocator )
inlineoverridevirtual

Deletes the given instance with the given allocator.

Implements xiiRTTIAllocator.


The documentation for this struct was generated from the following file:
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Reflection/Implementation/RTTI.h