CoreComponents 3.0.0
A Modern C++ Toolkit
|
Objects that materialize on-demand. More...
#include <cc/Entity>
Protected Types | |
using | State = Object::State |
Internal state. | |
using | Constructor = State *() |
Internal state constructor. | |
Protected Member Functions | |
Entity (State *newState) | |
Initialize entity with newState. | |
Entity (Constructor onDemand) | |
Initialize a primordial entity. | |
template<class T > | |
T & | get () |
Get access to the entity's internal state of type T. | |
template<class T > | |
const T & | get () const |
Get access to the entity's internal state. | |
Protected Member Functions inherited from Object | |
template<class T > | |
T | weak () const |
template<class T > | |
void | initOnce () |
Create the object state when called the first time. | |
template<class T > | |
void | initOncePerThread () |
Create a distinct object state for each thread when called the first time in that thread. | |
Object (State *newState) | |
Initialize object with newState. | |
Object (State *state, Alias) | |
Object (State *state, Weak) | |
Object & | operator= (std::nullptr_t) |
Static Protected Member Functions | |
template<class T > | |
static State * | onDemand () |
Convenience template for initializing primordial entities. | |
Static Protected Member Functions inherited from Object | |
template<class T > | |
static T | alias (const State *state) |
Create an alias object for the given state. | |
template<class T > | |
static T | weak (const State *state) |
Additional Inherited Members | |
Public Member Functions inherited from Object | |
Object ()=default | |
Create a null object. | |
operator bool () const | |
Check if this is a non-null object. | |
bool | isNull () const |
Check if this is a null object. | |
template<class T > | |
bool | is () const |
Check if this object is of type T. | |
template<class T > | |
T | as () const |
Cast this object to type T. | |
bool | isWeak () const |
Check if the underlying object reference is weak. | |
bool | operator== (const Object &other) const |
Equality operator. | |
std::strong_ordering | operator<=> (const Object &other) const |
Ordering operator. | |
long | useCount () const |
Reference count. | |
Protected Attributes inherited from Object | |
Handle< State > | me |
Internal object state | |
Objects that materialize on-demand.
|
protected |
Internal state.
|
protected |
Internal state constructor.
|
explicitprotected |
Initialize a primordial entity.
|
staticprotected |
Convenience template for initializing primordial entities.
|
protected |
Get access to the entity's internal state of type T.
|
protected |
Get access to the entity's internal state.