Loading...
Searching...
No Matches
Static Protected Member Functions | List of all members
cppgc::MakeGarbageCollectedTraitBase< T > Class Template Reference

#include <allocation.h>

Inheritance diagram for cppgc::MakeGarbageCollectedTraitBase< T >:
[legend]
Collaboration diagram for cppgc::MakeGarbageCollectedTraitBase< T >:
[legend]

Static Protected Member Functions

static void * Allocate (AllocationHandle &handle, size_t size)
 
static void MarkObjectAsFullyConstructed (const void *payload)
 

Detailed Description

template<typename T>
class cppgc::MakeGarbageCollectedTraitBase< T >

Base trait that provides utilities for advancers users that have custom allocation needs (e.g., overriding size). It's expected that users override MakeGarbageCollectedTrait (see below) and inherit from MakeGarbageCollectedTraitBase and make use of the low-level primitives offered to allocate and construct an object.

Member Function Documentation

◆ Allocate()

template<typename T >
static void * cppgc::MakeGarbageCollectedTraitBase< T >::Allocate ( AllocationHandle &  handle,
size_t  size 
)
inlinestaticprotected

Allocates memory for an object of type T.

Parameters
handleAllocationHandle identifying the heap to allocate the object on.
sizeThe size that should be reserved for the object.
Returns
the memory to construct an object of type T on.
Here is the caller graph for this function:

◆ MarkObjectAsFullyConstructed()

template<typename T >
static void cppgc::MakeGarbageCollectedTraitBase< T >::MarkObjectAsFullyConstructed ( const void *  payload)
inlinestaticprotected

Marks an object as fully constructed, resulting in precise handling by the garbage collector.

Parameters
payloadThe base pointer the object is allocated at.
Here is the call graph for this function:
Here is the caller graph for this function:

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