Core Library
Public Member Functions | Private Member Functions | Friends
Core::UniquePtr< T > Class Template Reference

A smart-pointer for use within a limited scope. More...

#include <UniquePtr.hpp>

Inheritance diagram for Core::UniquePtr< T >:
Core::SmartPtr< T >

List of all members.

Public Member Functions

 UniquePtr ()
 Default constructor.
 UniquePtr (T *pPointer)
 Construction from a raw pointer.
 ~UniquePtr ()
 Destructor.
void reset (T *pPointer=nullptr)
 Change pointer ownership.
T * detach ()
 Take ownership of the pointer.

Private Member Functions

T ** getPtrMember ()
 Access the underlying pointer member.

Friends

T ** attachTo (UniquePtr< T > &ptr)
 Allow attachment via an output parameter.

Detailed Description

template<typename T>
class Core::UniquePtr< T >

A smart-pointer for use within a limited scope.


Constructor & Destructor Documentation

template<typename T >
Core::UniquePtr< T >::UniquePtr ( ) [inline]

Default constructor.

template<typename T>
Core::UniquePtr< T >::UniquePtr ( T *  pPointer) [inline, explicit]

Construction from a raw pointer.

Takes ownership of a new pointer.

template<typename T >
Core::UniquePtr< T >::~UniquePtr ( ) [inline]

Destructor.


Member Function Documentation

template<typename T>
void Core::UniquePtr< T >::reset ( T *  pPointer = nullptr) [inline]

Change pointer ownership.

Frees the current pointer and takes ownership of another pointer, if provided.

template<typename T >
T * Core::UniquePtr< T >::detach ( ) [inline]

Take ownership of the pointer.

template<typename T >
T ** Core::UniquePtr< T >::getPtrMember ( ) [inline, private]

Access the underlying pointer member.

This is used by the attachTo() friend function to access the underlying SmartPtr<T> member variable.


Friends And Related Function Documentation

template<typename T>
T** attachTo ( UniquePtr< T > &  ptr) [friend]

Allow attachment via an output parameter.

e.g. LoadTypeLib(..., attachTo(p)).


The documentation for this class was generated from the following file: