OwningPtr smart pointer - OwningPtr mimics a built-in pointer except that it guarantees deletion of the object pointed to, either on destruction of the OwningPtr or via an explicit reset(). More...
#include <OwningPtr.h>
Public Member Functions | |
OwningPtr (T *P=0) | |
~OwningPtr () | |
void | reset (T *P=0) |
reset - Change the current pointee to the specified pointer. | |
T * | take () |
take - Reset the owning pointer to null and return its pointer. | |
T & | operator* () const |
T * | operator-> () const |
T * | get () const |
operator bool () const | |
bool | operator! () const |
void | swap (OwningPtr &RHS) |
Private Member Functions | |
OwningPtr (OwningPtr const &) | |
OwningPtr & | operator= (OwningPtr const &) |
Private Attributes | |
T * | Ptr |
OwningPtr smart pointer - OwningPtr mimics a built-in pointer except that it guarantees deletion of the object pointed to, either on destruction of the OwningPtr or via an explicit reset().
Once created, ownership of the pointee object can be taken away from OwningPtr by using the take method.
llvm::OwningPtr< T >::OwningPtr | ( | OwningPtr< T > const & | ) | [private] |
llvm::OwningPtr< T >::OwningPtr | ( | T * | P = 0 |
) | [inline, explicit] |
llvm::OwningPtr< T >::~OwningPtr | ( | ) | [inline] |
T* llvm::OwningPtr< T >::get | ( | ) | const [inline] |
llvm::OwningPtr< T >::operator bool | ( | ) | const [inline] |
bool llvm::OwningPtr< T >::operator! | ( | ) | const [inline] |
T& llvm::OwningPtr< T >::operator* | ( | ) | const [inline] |
T* llvm::OwningPtr< T >::operator-> | ( | ) | const [inline] |
OwningPtr& llvm::OwningPtr< T >::operator= | ( | OwningPtr< T > const & | ) | [private] |
void llvm::OwningPtr< T >::reset | ( | T * | P = 0 |
) | [inline] |
reset - Change the current pointee to the specified pointer.
Note that calling this with any pointer (including a null pointer) deletes the current pointer.
void llvm::OwningPtr< T >::swap | ( | OwningPtr< T > & | RHS | ) | [inline] |
T* llvm::OwningPtr< T >::take | ( | ) | [inline] |
take - Reset the owning pointer to null and return its pointer.
This does not delete the pointer before returning it.
T* llvm::OwningPtr< T >::Ptr [private] |