#include <shared_ptr.h>
Public Member Functions | |
object_ptr () | |
Default constructor. | |
object_ptr (const shared_ptr< T > &b) | |
Upcast from shared_ptr<T> to object_ptr<T>. | |
object_ptr (T *p) | |
object_ptr< T > & | operator= (const object_ptr< T > &other) |
Assignment operator. | |
T * | get () |
const T * | get () const |
T * | operator-> () |
const T * | operator-> () const |
T & | operator* () |
const T & | operator* () const |
bool | unique () const |
Returns use_count() == 1. | |
long | use_count () const |
operator bool () const | |
Boolean cast. | |
operator shared_ptr< const U > () const | |
const cast | |
void | swap (shared_ptr &other) |
Efficient swap for shared_ptr. |
T must have a default constructor.
Note that shared_ptr's destructor isn't virtual - don't call delete on pointers to instances of this class.
bdm::object_ptr< T >::object_ptr | ( | ) | [inline] |
Default constructor.
Calls T's default constructor.
bdm::object_ptr< T >::object_ptr | ( | const shared_ptr< T > & | b | ) | [inline] |
Upcast from shared_ptr<T> to object_ptr<T>.
b | The shared pointer, which must not be empty. |
References bdm_assert_debug.
bdm::object_ptr< T >::object_ptr | ( | T * | p | ) | [inline] |
Constructs an object_ptr that owns the pointer p. p must have been alllocated by new!
References bdm_assert_debug.
const T * bdm::shared_ptr< T >::get | ( | ) | const [inline, inherited] |
Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL.
T * bdm::shared_ptr< T >::get | ( | ) | [inline, inherited] |
Returns the stored pointer (which remains owned by this instance). For empty instances, this method returns NULL.
bdm::shared_ptr< T >::operator bool | ( | ) | const [inline, inherited] |
Boolean cast.
This operator returns true if and only if the instance isn't empty.
bdm::shared_ptr< T >::operator shared_ptr< const U > | ( | ) | const [inline, inherited] |
const cast
Shared pointer to T can be converted to shared pointer to const T, just like T * can be converted to T const *.
const T & bdm::shared_ptr< T >::operator* | ( | ) | const [inline, inherited] |
Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL.
T & bdm::shared_ptr< T >::operator* | ( | ) | [inline, inherited] |
Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL.
const T * bdm::shared_ptr< T >::operator-> | ( | ) | const [inline, inherited] |
Returns the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL.
T * bdm::shared_ptr< T >::operator-> | ( | ) | [inline, inherited] |
Dereferences the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL.
long bdm::shared_ptr< T >::use_count | ( | ) | const [inline, inherited] |
Returns the number of shared_ptr instances (including this instance) that share ownership with this instance. For empty instances, this method returns 0.