Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
cppgc::CustomSpace< ConcreteCustomSpace > Class Template Reference

#include <custom-space.h>

Inheritance diagram for cppgc::CustomSpace< ConcreteCustomSpace >:
[legend]
Collaboration diagram for cppgc::CustomSpace< ConcreteCustomSpace >:
[legend]

Public Member Functions

CustomSpaceIndex GetCustomSpaceIndex () const final
 
bool IsCompactable () const final
 
- Public Member Functions inherited from cppgc::CustomSpaceBase
virtual ~CustomSpaceBase ()=default
 
virtual CustomSpaceIndex GetCustomSpaceIndex () const =0
 
virtual bool IsCompactable () const =0
 

Static Public Attributes

static constexpr bool kSupportsCompaction = false
 

Detailed Description

template<typename ConcreteCustomSpace>
class cppgc::CustomSpace< ConcreteCustomSpace >

Base class custom spaces should directly inherit from. The class inheriting from CustomSpace must define kSpaceIndex as unique space index. These indices need for form a sequence starting at 0.

Example:

class CustomSpace1 : public CustomSpace<CustomSpace1> {
public:
static constexpr CustomSpaceIndex kSpaceIndex = 0;
};
class CustomSpace2 : public CustomSpace<CustomSpace2> {
public:
static constexpr CustomSpaceIndex kSpaceIndex = 1;
};
Definition: custom-space.h:49
Definition: custom-space.h:15

Member Function Documentation

◆ GetCustomSpaceIndex()

template<typename ConcreteCustomSpace >
CustomSpaceIndex cppgc::CustomSpace< ConcreteCustomSpace >::GetCustomSpaceIndex ( ) const
inlinefinalvirtual

◆ IsCompactable()

template<typename ConcreteCustomSpace >
bool cppgc::CustomSpace< ConcreteCustomSpace >::IsCompactable ( ) const
inlinefinalvirtual

Member Data Documentation

◆ kSupportsCompaction

template<typename ConcreteCustomSpace >
constexpr bool cppgc::CustomSpace< ConcreteCustomSpace >::kSupportsCompaction = false
staticconstexpr

Compaction is only supported on spaces that manually manage slots recording.


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