bdm::shared_ptr< T > Class Template Reference

A naive implementation of roughly a subset of the std::tr1:shared_ptr spec (really just roughly - it ignores memory exceptions, for example; also note I didn't read the spec). More...

#include <shared_ptr.h>

List of all members.

Public Member Functions

 shared_ptr ()
 Creates an empty shared_ptr - one that doesn't point anywhere.
 shared_ptr (T *p)
 shared_ptr (const shared_ptr< T > &other)
template<typename U >
 shared_ptr (const shared_ptr< U > &other)
shared_ptroperator= (const shared_ptr &other)
T * get ()
T * operator-> ()
T & operator* ()
const T * get () const
const T * operator-> () const
const T & operator* () const
bool unique () const
long use_count () const
 operator bool () const
void swap (shared_ptr &other)

Friends

class shared_ptr


Detailed Description

template<typename T>
class bdm::shared_ptr< T >

A naive implementation of roughly a subset of the std::tr1:shared_ptr spec (really just roughly - it ignores memory exceptions, for example; also note I didn't read the spec).

Constructor & Destructor Documentation

template<typename T>
bdm::shared_ptr< T >::shared_ptr ( T *  p  )  [inline]

Constructs a shared_ptr that owns the pointer p (unless p is null, in which case this constructor creates an empty shared_ptr).

template<typename T>
bdm::shared_ptr< T >::shared_ptr ( const shared_ptr< T > &  other  )  [inline]

If other is empty, constructs an empty shared_ptr; otherwise, constructs a shared_ptr that shares ownership with other.

template<typename T>
template<typename U >
bdm::shared_ptr< T >::shared_ptr ( const shared_ptr< U > &  other  )  [inline]

If other is empty, constructs an empty shared_ptr; otherwise, constructs a shared_ptr that shares ownership with other.


Member Function Documentation

template<typename T>
const T* bdm::shared_ptr< T >::get (  )  const [inline]

Returns the stored pointer (which remains owned by this instance).

template<typename T>
T* bdm::shared_ptr< T >::get (  )  [inline]

Returns the stored pointer (which remains owned by this instance).

template<typename T>
const T& bdm::shared_ptr< T >::operator* (  )  const [inline]

Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL.

template<typename T>
T& bdm::shared_ptr< T >::operator* (  )  [inline]

Returns a reference to the object pointed to by the stored pointer. This method may only be called when the stored pointer isn't NULL.

template<typename T>
const T* bdm::shared_ptr< T >::operator-> (  )  const [inline]

Returns the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL.

template<typename T>
T* bdm::shared_ptr< T >::operator-> (  )  [inline]

Returns the stored pointer (which remains owned by this instance). This method may only be called when the stored pointer isn't NULL.


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

Generated on Wed Aug 5 00:07:00 2009 for mixpp by  doxygen 1.5.9