Syntactic type to define a pointer that must be a child of the owning object.
More...
|
| child_ptr ()=default |
| Default constructor is exposed for RTTR but not for the user.
|
|
| child_ptr (const TThisType &other) |
|
| child_ptr (TThisType &&other)=default |
|
| child_ptr (const database_object &owner) |
| Construct a new Child Ptr object with an owner.
|
|
| child_ptr (sbk_id id) |
| Construct a new child_ptr that points to the ID.
|
|
TThisType & | operator= (typename database_ptr< TObject >::TIdentifierType id) |
|
TThisType & | operator= (typename database_ptr< TObject >::TObjectPtr object) |
|
TThisType & | operator= (const TThisType &other) |
|
void | setID (typename database_ptr< TObject >::TIdentifierType id=0) |
|
void | reset (typename database_ptr< TObject >::TObjectPtr object=nullptr) |
|
| database_ptr () |
| Creates an empty and null LazyPtr.
|
|
| database_ptr (const TThisType &other)=default |
|
| database_ptr (TThisType &&other)=default |
|
| database_ptr (sbk_id id) |
| Creates a LazyPtr that can lookup its object pointer after construction.
|
|
| database_ptr (const TObjectShared &object) |
| Create a valid LazyPtr.
|
|
| database_ptr (const TObjectPtr &object) |
| Create a valid LazyPtr.
|
|
| database_ptr (std::nullptr_t) |
| Create an empty and null LazyPtr.
|
|
auto | id () const noexcept -> sbk_id |
| Get ID of the referenced object.
|
|
auto | shared () const noexcept -> TObjectShared |
|
auto | weak () const noexcept -> TObjectWeak |
|
auto | raw () const noexcept -> TObjectPtr |
| Get raw pointer of the referenced object.
|
|
auto | lookup_raw () const noexcept -> TObjectPtr |
|
auto | has_id () const noexcept -> bool |
| Returns true if we hold a valid ID and can search for an object at runtime.
|
|
auto | null () const noexcept -> bool |
| Returns true if the object pointer is not set.
|
|
auto | pending () const noexcept -> bool |
| Returns true if we hold an ID but haven't found the live object to point to yet.
|
|
auto | stale () const noexcept -> bool |
| Returns true if we previously referenced an object that has been destroyed.
|
|
auto | valid () const noexcept -> bool |
| Returns true if we hold an ID and a valid pointer to the object.
|
|
auto | lookup () const noexcept -> bool |
| Find the live object referenced by the ID and store it.
|
|
auto | reset (TObjectPtr object=nullptr) -> void |
| Clear all references.
|
|
TThisType & | operator= (TObjectShared object) |
|
TThisType & | operator= (TObjectPtr object) |
| Assign this LazyPtr to a new object, potentially destroying the current object if we're acting as a UniquePtr.
|
|
TThisType & | operator= (const TThisType &other) |
|
TThisType & | operator= (const TThisType &&other) |
|
| operator bool () const |
| Returns true if this LazyPtr references a valid object.
|
|
bool | operator! () const |
| Returns true if this LazyPtr is invalid.
|
|
TObjectPtr | operator-> () const |
| Access the raw object.
|
|
template<typename TObject>
class sbk::core::child_ptr< TObject >
Syntactic type to define a pointer that must be a child of the owning object.