wxMaxima
|
An implementation detail for the type-specific templated cell pointers. More...
#include <CellPtr.h>
Public Member Functions | |
operator bool () const noexcept | |
void | reset () noexcept |
auto | cmpPointers (const CellPtrBase &o) const noexcept |
This is exactly like the spaceship operator in C++20. | |
auto | cmpObjects (const CellPtrBase &o) const noexcept |
This is the spaceship operator acting on pointed-to objects. | |
auto | cmpObjects (const Observed *o) const noexcept |
This is the spaceship operator acting on pointed-to objects. | |
bool | IsNull () const |
bool | HasOneObserved () const |
bool | HasControlBlock () const |
Static Public Member Functions | |
template<typename U > | |
static bool constexpr | is_pointer () |
static size_t | GetLiveInstanceCount () noexcept |
Protected Member Functions | |
CellPtrBase (Observed *obj=nullptr) noexcept | |
CellPtrBase (const CellPtrBase &o) noexcept | |
CellPtrBase (CellPtrBase &&o) noexcept | |
CellPtrBase & | operator= (const CellPtrBase &o) noexcept |
CellPtrBase & | operator= (CellPtrBase &&o) noexcept |
Observed * | base_get () const noexcept |
void | base_reset (Observed *obj=nullptr) noexcept |
An implementation detail for the type-specific templated cell pointers.
A CellPtrBase (and thus the derived CellPtr) can be in one of 3 states:
|
protectednoexcept |
Different objects must have control blocks that are either null or non-null but different.