SObjectizer
5.7
|
Template class for smart reference wrapper on the atomic_refcounted_t. More...
#include <atomic_refcounted.hpp>
Public Member Functions | |
intrusive_ptr_t () noexcept | |
Default constructor. More... | |
intrusive_ptr_t (T *obj) noexcept | |
Constructor for a raw pointer. More... | |
intrusive_ptr_t (const intrusive_ptr_t &o) noexcept | |
Copy constructor. More... | |
intrusive_ptr_t (intrusive_ptr_t &&o) noexcept | |
Move constructor. More... | |
template<class Y > | |
intrusive_ptr_t (const intrusive_ptr_t< Y > &o) noexcept | |
Constructor from another smart reference. More... | |
template<class Y > | |
intrusive_ptr_t (std::unique_ptr< Y > o) noexcept | |
Constructor from unique_ptr instance. More... | |
~intrusive_ptr_t () noexcept | |
Destructor. More... | |
intrusive_ptr_t & | operator= (const intrusive_ptr_t &o) noexcept |
Copy operator. More... | |
intrusive_ptr_t & | operator= (intrusive_ptr_t &&o) noexcept |
Move operator. More... | |
void | swap (intrusive_ptr_t &o) noexcept |
Swap values. More... | |
void | reset () noexcept |
Drop controlled object. More... | |
template<class Y > | |
intrusive_ptr_t< Y > | make_reference () const noexcept |
Make reference with casing to different type. More... | |
operator bool () const noexcept | |
Is this a null reference? More... | |
Access to object. | |
T * | get () const noexcept |
T * | operator-> () const noexcept |
T & | operator* () const noexcept |
Comparision | |
bool | operator== (const intrusive_ptr_t &o) const |
bool | operator< (const intrusive_ptr_t &o) const |
Private Member Functions | |
void | take_object () noexcept |
Increment reference count to object if it's not null. More... | |
void | dismiss_object () noexcept |
Decrement reference count to object and delete it if needed. More... | |
Static Private Member Functions | |
static void | ensure_right_T () |
Private Attributes | |
T * | m_obj |
Object controlled by a smart reference. More... | |
Template class for smart reference wrapper on the atomic_refcounted_t.
T | class which must be derived from the atomic_refcounted_t. |
|
inlinenoexcept |
Default constructor.
Constructs a null reference.
|
inlinenoexcept |
Constructor for a raw pointer.
|
inlinenoexcept |
Copy constructor.
|
inlinenoexcept |
Move constructor.
|
inlinenoexcept |
Constructor from another smart reference.
|
inlinenoexcept |
Constructor from unique_ptr instance.
|
inlinenoexcept |
Destructor.
|
inlineprivatenoexcept |
Decrement reference count to object and delete it if needed.
|
inlinestaticprivate |
|
inlinenoexcept |
|
inlinenoexcept |
Make reference with casing to different type.
|
inlinenoexcept |
Is this a null reference?
i.e. whether get() != 0.
true | if *this manages an object. |
false | otherwise. |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
Copy operator.
|
inlinenoexcept |
Move operator.
|
inline |
|
inlinenoexcept |
Drop controlled object.
|
inlinenoexcept |
Swap values.
|
inlineprivatenoexcept |
Increment reference count to object if it's not null.
|
private |
Object controlled by a smart reference.