#include <zorba/internal/unique_ptr.h>
Public Types | |
typedef D | deleter_type |
typedef T | element_type |
typedef T * | pointer |
Public Member Functions | |
pointer | get () const throw () |
Gets the pointer. More... | |
deleter_reference | get_deleter () throw () |
Gets the deleter in use. More... | |
deleter_const_reference | get_deleter () const throw () |
Gets the deleter in use. More... | |
operator explicit_bool::type () const throw () | |
Conversion to bool . More... | |
element_type & | operator* () const throw () |
Dereferences the pointer. More... | |
pointer | operator-> () const throw () |
Gets the pointer. More... | |
operator::zorba::internal::rv () throw () | |
operator::zorba::internal::rv () const throw () | |
unique_ptr & | operator= (zorba::internal::rv< unique_ptr > &p) |
Destructive assignment: moves ownership of the object pointed-to by p to this unique_ptr. More... | |
template<typename U , typename E > | |
unique_ptr & | operator= (zorba::internal::rv< unique_ptr< U, E > > &p) |
Destructive assignment: moves ownership of the object pointed-to by p to this unique_ptr. More... | |
unique_ptr & | operator= (int) |
Assignment from null: equivalent to reset() . More... | |
pointer | release () throw () |
Releases ownership of the pointed-to object. More... | |
void | reset (pointer p=0) throw () |
Sets the pointer to the given value or null if none. More... | |
void | swap (unique_ptr &p) |
Swaps the pointer and deleter with that of another unique_ptr. More... | |
unique_ptr (pointer p=0) throw () | |
Default constructor. More... | |
unique_ptr (pointer p, deleter_reference d) | |
Constructs a unique_ptr using a specific deleter. More... | |
unique_ptr (zorba::internal::rv< unique_ptr > &p) | |
Constructs a unique_ptr from an existing unique_ptr. More... | |
template<typename U , typename E > | |
unique_ptr (zorba::internal::rv< unique_ptr< U, E > > &p, typename enable_if< ZORBA_TR1_NS::is_convertible< typename unique_ptr< U >::pointer, pointer >::value &&ZORBA_TR1_NS::is_convertible< E, D >::value &&(!ZORBA_TR1_NS::is_reference< D >::value||ZORBA_TR1_NS::is_same< D, E >::value) >::type *=0) | |
Constructs a unique_ptr from an existing unique_ptr. More... | |
~unique_ptr () | |
Destroys the pointed-to object by calling the deleter (if the pointer is not null). More... | |
Definition at line 202 of file unique_ptr.h.
typedef D std::unique_ptr< T, D >::deleter_type |
Definition at line 214 of file unique_ptr.h.
typedef T std::unique_ptr< T, D >::element_type |
Definition at line 212 of file unique_ptr.h.
typedef T* std::unique_ptr< T, D >::pointer |
Definition at line 213 of file unique_ptr.h.
|
inlineexplicit |
Default constructor.
p | A pointer to the object to point to, if any. |
Definition at line 221 of file unique_ptr.h.
|
inline |
Constructs a unique_ptr using a specific deleter.
This unique_ptr now has ownership of the pointed-to object.
p | A pointer to the object to own. |
d | The deleter to use. |
Definition at line 231 of file unique_ptr.h.
|
inline |
Constructs a unique_ptr from an existing unique_ptr.
Note that:
Instead, you must use the move()
function:
p | The unique_ptr to move from. |
Definition at line 248 of file unique_ptr.h.
|
inline |
Constructs a unique_ptr from an existing unique_ptr.
U | The pointed-to type such that U* is convertible to T* . |
E | The deleter such that E is convertible to D . |
p | The unique_ptr to move from. |
Definition at line 261 of file unique_ptr.h.
|
inline |
Destroys the pointed-to object by calling the deleter (if the pointer is not null).
Definition at line 279 of file unique_ptr.h.
|
inline |
|
inline |
|
inline |
|
inline |
Conversion to bool
.
true
only if the pointer is not null; false
only if the pointer is null. Definition at line 410 of file unique_ptr.h.
|
inline |
Dereferences the pointer.
Definition at line 329 of file unique_ptr.h.
|
inline |
|
inline |
Definition at line 429 of file unique_ptr.h.
|
inline |
Definition at line 433 of file unique_ptr.h.
|
inline |
Destructive assignment: moves ownership of the object pointed-to by p to this unique_ptr.
The object pointed-to by this unique_ptr, if any, is deleted.
p | The unique_ptr to move from. |
*this
. Definition at line 291 of file unique_ptr.h.
|
inline |
Destructive assignment: moves ownership of the object pointed-to by p to this unique_ptr.
The object pointed-to by this unique_ptr, if any, is deleted.
U | The pointed-to type such that U* is convertible to T* . |
E | The deleter of p. |
p | The unique_ptr to move from. |
*this
. Definition at line 308 of file unique_ptr.h.
|
inline |
Assignment from null: equivalent to reset()
.
*this
. Definition at line 319 of file unique_ptr.h.
|
inline |
Releases ownership of the pointed-to object.
Said object will now be the responsibility of the caller.
Definition at line 375 of file unique_ptr.h.
|
inline |
Sets the pointer to the given value or null if none.
The previosly pointed-to object, if any, is deleted. However, if p equals the current pointer value, then this function does nothing.
p | The new pointer value, if any. |
Definition at line 388 of file unique_ptr.h.
Referenced by std::unique_ptr< zorba::internal::ztd::proxy >::operator=().
|
inline |
Swaps the pointer and deleter with that of another unique_ptr.
p | The unique_ptr to swap with. |
Definition at line 400 of file unique_ptr.h.
Referenced by std::swap().