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 (xiiAllocatorBase *pAllocator) override
 Returns a new instance that was allocated with the given allocator.
 
virtual xiiInternal::NewInstance< void > CloneInternal (const void *pObject, xiiAllocatorBase *pAllocator) override
 Clones the given instance with the given allocator.
 
virtual void Deallocate (void *pObject, xiiAllocatorBase *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 (xiiAllocatorBase *pAllocator=nullptr)
 Allocates one instance.
 
template<typename T>
xiiInternal::NewInstance< T > Clone (const void *pObject, xiiAllocatorBase *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 ( xiiAllocatorBase * 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,
xiiAllocatorBase * 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,
xiiAllocatorBase * pAllocator )
inlineoverridevirtual

Deletes the given instance with the given allocator.

Implements xiiRTTIAllocator.


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