DefaultSPStorage< T > Class Template Reference

#include <smart_ptr.h>

List of all members.

Public Types

typedef T * StoredType
typedef T * PointerType
typedef T & ReferenceType

Public Member Functions

 DefaultSPStorage ()
 DefaultSPStorage (const DefaultSPStorage &)
template<class U >
 DefaultSPStorage (const DefaultSPStorage< U > &)
 DefaultSPStorage (const StoredType &p)
PointerType operator-> () const
ReferenceType operator* () const
void Swap (DefaultSPStorage &rhs)

Protected Member Functions

void Destroy ()

Static Protected Member Functions

static StoredType Default ()

Private Attributes

StoredType pointee_

Friends

PointerType GetImpl (const DefaultSPStorage &sp)
const StoredTypeGetImplRef (const DefaultSPStorage &sp)
StoredTypeGetImplRef (DefaultSPStorage &sp)


Detailed Description

template<class T>
class DefaultSPStorage< T >

Definition at line 72 of file smart_ptr.h.


Member Typedef Documentation

template<class T >
typedef T* DefaultSPStorage< T >::StoredType

Definition at line 75 of file smart_ptr.h.

template<class T >
typedef T* DefaultSPStorage< T >::PointerType

Definition at line 76 of file smart_ptr.h.

template<class T >
typedef T& DefaultSPStorage< T >::ReferenceType

Definition at line 77 of file smart_ptr.h.


Constructor & Destructor Documentation

template<class T >
DefaultSPStorage< T >::DefaultSPStorage (  )  [inline]

Definition at line 79 of file smart_ptr.h.

00079                            : pointee_(Default()) 
00080         {}

template<class T >
DefaultSPStorage< T >::DefaultSPStorage ( const DefaultSPStorage< T > &   )  [inline]

Definition at line 84 of file smart_ptr.h.

00085         {}

template<class T >
template<class U >
DefaultSPStorage< T >::DefaultSPStorage ( const DefaultSPStorage< U > &   )  [inline]

Definition at line 88 of file smart_ptr.h.

00089         {}

template<class T >
DefaultSPStorage< T >::DefaultSPStorage ( const StoredType p  )  [inline]

Definition at line 91 of file smart_ptr.h.

00091 : pointee_(p) {}


Member Function Documentation

template<class T >
PointerType DefaultSPStorage< T >::operator-> (  )  const [inline]

Definition at line 93 of file smart_ptr.h.

00093 { return pointee_; }

template<class T >
ReferenceType DefaultSPStorage< T >::operator* (  )  const [inline]

Definition at line 95 of file smart_ptr.h.

00095 { return *pointee_; }

template<class T >
void DefaultSPStorage< T >::Swap ( DefaultSPStorage< T > &  rhs  )  [inline]

Definition at line 97 of file smart_ptr.h.

00098         { std::swap(pointee_, rhs.pointee_); }

template<class T >
void DefaultSPStorage< T >::Destroy (  )  [inline, protected]

Definition at line 113 of file smart_ptr.h.

00114         { delete pointee_; }

template<class T >
static StoredType DefaultSPStorage< T >::Default (  )  [inline, static, protected]

Definition at line 117 of file smart_ptr.h.

00118         { return 0; }


Friends And Related Function Documentation

template<class T >
PointerType GetImpl ( const DefaultSPStorage< T > &  sp  )  [friend]

Definition at line 101 of file smart_ptr.h.

00102         { return sp.pointee_; }

template<class T >
const StoredType& GetImplRef ( const DefaultSPStorage< T > &  sp  )  [friend]

Definition at line 104 of file smart_ptr.h.

00105         { return sp.pointee_; }

template<class T >
StoredType& GetImplRef ( DefaultSPStorage< T > &  sp  )  [friend]

Definition at line 107 of file smart_ptr.h.

00108         { return sp.pointee_; }


Member Data Documentation

template<class T >
StoredType DefaultSPStorage< T >::pointee_ [private]

Definition at line 122 of file smart_ptr.h.


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

Generated on Tue Aug 30 02:36:58 2011 for Smacky by  doxygen 1.5.8