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.