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

An array smart-pointer for use within a limited scope. More...

#include <ArrayPtr.hpp>

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

List of all members.

Public Member Functions

 ArrayPtr ()
 Default constructor.
 ArrayPtr (T *pPointer)
 Construction from a raw pointer.
 ~ArrayPtr ()
 Destructor.
T & operator[] (size_t nIndex)
 Index operator.
const T & operator[] (size_t nIndex) const
 Index operator.
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 (ArrayPtr< T > &ptr)
 Allow attachment via an output parameter.

Detailed Description

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

An array smart-pointer for use within a limited scope.


Constructor & Destructor Documentation

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

Default constructor.

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

Construction from a raw pointer.

Takes ownership of a new pointer.

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

Destructor.


Member Function Documentation

template<typename T >
T & Core::ArrayPtr< T >::operator[] ( size_t  nIndex) [inline]

Index operator.

template<typename T >
const T & Core::ArrayPtr< T >::operator[] ( size_t  nIndex) const [inline]

Index operator.

template<typename T >
void Core::ArrayPtr< 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::ArrayPtr< T >::detach ( ) [inline]

Take ownership of the pointer.

template<typename T >
T ** Core::ArrayPtr< 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 ( ArrayPtr< 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: