library of assembled shared sources

http://lass.cocamware.com

lass::util::SharedPtr< T, StoragePolicy, CounterPolicy > Class Template Reference

#include <shared_ptr.h>

Inheritance diagram for lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >:

Inheritance graph
[legend]

Data Structures

struct  Rebind

Public Types

typedef T TPointee
typedef StoragePolicy< T,
CounterPolicy > 
TStoragePolicy
typedef CounterPolicy TCounterPolicy
typedef TStoragePolicy::TStorage TStorage
typedef TStoragePolicy::TPointer TPointer
typedef TStoragePolicy::TReference TReference
typedef TCounterPolicy::TCount TCount

Public Member Functions

 SharedPtr ()
 SharedPtr (TPointer p)
template<typename U >
 SharedPtr (std::auto_ptr< U > &p)
 SharedPtr (const SharedPtr &other)
template<typename U >
 SharedPtr (const SharedPtr< U, StoragePolicy, CounterPolicy > &other)
 ~SharedPtr ()
SharedPtroperator= (const SharedPtr &other)
void reset (TPointer p=0)
template<typename U >
void reset (std::auto_ptr< U > &p)
void swap (SharedPtr &other)
TPointer get () const
TPointer operator-> () const
TReference operator* () const
TReference operator[] (size_t i) const
const TCount count () const
const bool isEmpty () const
const bool operator! () const
 operator num::SafeBool () const
const TStoragestorage () const
 returns reference to storage pointer
TStoragestorage ()
 returns reference to storage pointer

Detailed Description

template<typename T, template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
class lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >

Definition at line 61 of file shared_ptr.h.


Member Typedef Documentation

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
typedef T lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::TPointee

Definition at line 65 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
typedef StoragePolicy<T, CounterPolicy> lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::TStoragePolicy

Definition at line 66 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
typedef CounterPolicy lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::TCounterPolicy

Definition at line 67 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
typedef TStoragePolicy::TStorage lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::TStorage

Definition at line 68 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
typedef TStoragePolicy::TPointer lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::TPointer

Definition at line 69 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
typedef TStoragePolicy::TReference lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::TReference

Definition at line 70 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
typedef TCounterPolicy::TCount lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::TCount

Definition at line 71 of file shared_ptr.h.


Constructor & Destructor Documentation

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::SharedPtr (  )  [inline]

Definition at line 78 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::SharedPtr ( TPointer  p  )  [inline, explicit]

Definition at line 82 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
template<typename U >
lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::SharedPtr ( std::auto_ptr< U > &  p  )  [inline]

Definition at line 90 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::SharedPtr ( const SharedPtr< T, StoragePolicy, CounterPolicy > &  other  )  [inline]

Definition at line 99 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
template<typename U >
lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::SharedPtr ( const SharedPtr< U, StoragePolicy, CounterPolicy > &  other  )  [inline]

Definition at line 107 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::~SharedPtr (  )  [inline]

Definition at line 116 of file shared_ptr.h.


Member Function Documentation

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
SharedPtr& lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::operator= ( const SharedPtr< T, StoragePolicy, CounterPolicy > &  other  )  [inline]

Definition at line 125 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
void lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::reset ( TPointer  p = 0  )  [inline]

Definition at line 132 of file shared_ptr.h.

Referenced by lass::prim::Transformation2D< T >::inverse(), lass::util::CallbackR9< R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::reset(), lass::util::CallbackR8< R, P1, P2, P3, P4, P5, P6, P7, P8 >::reset(), lass::util::CallbackR7< R, P1, P2, P3, P4, P5, P6, P7 >::reset(), lass::util::CallbackR6< R, P1, P2, P3, P4, P5, P6 >::reset(), lass::util::CallbackR5< R, P1, P2, P3, P4, P5 >::reset(), lass::util::CallbackR4< R, P1, P2, P3, P4 >::reset(), lass::util::CallbackR3< R, P1, P2, P3 >::reset(), lass::util::CallbackR2< R, P1, P2 >::reset(), lass::util::CallbackR15< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::reset(), lass::util::CallbackR14< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::reset(), lass::util::CallbackR13< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::reset(), lass::util::CallbackR12< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::reset(), lass::util::CallbackR11< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::reset(), lass::util::CallbackR10< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::reset(), lass::util::CallbackR1< R, P1 >::reset(), lass::util::CallbackR0< R >::reset(), lass::util::Callback9< P1, P2, P3, P4, P5, P6, P7, P8, P9 >::reset(), lass::util::Callback8< P1, P2, P3, P4, P5, P6, P7, P8 >::reset(), lass::util::Callback7< P1, P2, P3, P4, P5, P6, P7 >::reset(), lass::util::Callback6< P1, P2, P3, P4, P5, P6 >::reset(), lass::util::Callback5< P1, P2, P3, P4, P5 >::reset(), lass::util::Callback4< P1, P2, P3, P4 >::reset(), lass::util::Callback3< P1, P2, P3 >::reset(), lass::util::Callback2< P1, P2 >::reset(), lass::util::Callback15< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::reset(), lass::util::Callback14< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::reset(), lass::util::Callback13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::reset(), lass::util::Callback12< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::reset(), lass::util::Callback11< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::reset(), lass::util::Callback10< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::reset(), lass::util::Callback1< P1 >::reset(), and lass::util::Callback0::reset().

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
template<typename U >
void lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::reset ( std::auto_ptr< U > &  p  )  [inline]

Definition at line 137 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
void lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::swap ( SharedPtr< T, StoragePolicy, CounterPolicy > &  other  )  [inline]

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
TPointer lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::get (  )  const [inline]

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
TPointer lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::operator-> (  )  const [inline]

Definition at line 152 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
TReference lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::operator* (  )  const [inline]

Definition at line 157 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
TReference lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::operator[] ( size_t  i  )  const [inline]

Definition at line 162 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
const TCount lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::count (  )  const [inline]

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
const bool lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::isEmpty (  )  const [inline]

Definition at line 172 of file shared_ptr.h.

Referenced by lass::util::SharedPtr< lass::util::impl::Dispatcher13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > >::count(), lass::prim::Transformation3D< T >::inverse(), lass::prim::Transformation2D< T >::inverse(), lass::util::CallbackR9< R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::isEmpty(), lass::util::CallbackR8< R, P1, P2, P3, P4, P5, P6, P7, P8 >::isEmpty(), lass::util::CallbackR7< R, P1, P2, P3, P4, P5, P6, P7 >::isEmpty(), lass::util::CallbackR6< R, P1, P2, P3, P4, P5, P6 >::isEmpty(), lass::util::CallbackR5< R, P1, P2, P3, P4, P5 >::isEmpty(), lass::util::CallbackR4< R, P1, P2, P3, P4 >::isEmpty(), lass::util::CallbackR3< R, P1, P2, P3 >::isEmpty(), lass::util::CallbackR2< R, P1, P2 >::isEmpty(), lass::util::CallbackR15< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::isEmpty(), lass::util::CallbackR14< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::isEmpty(), lass::util::CallbackR13< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::isEmpty(), lass::util::CallbackR12< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::isEmpty(), lass::util::CallbackR11< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::isEmpty(), lass::util::CallbackR10< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::isEmpty(), lass::util::CallbackR1< R, P1 >::isEmpty(), lass::util::CallbackR0< R >::isEmpty(), lass::util::Callback9< P1, P2, P3, P4, P5, P6, P7, P8, P9 >::isEmpty(), lass::util::Callback8< P1, P2, P3, P4, P5, P6, P7, P8 >::isEmpty(), lass::util::Callback7< P1, P2, P3, P4, P5, P6, P7 >::isEmpty(), lass::util::Callback6< P1, P2, P3, P4, P5, P6 >::isEmpty(), lass::util::Callback5< P1, P2, P3, P4, P5 >::isEmpty(), lass::util::Callback4< P1, P2, P3, P4 >::isEmpty(), lass::util::Callback3< P1, P2, P3 >::isEmpty(), lass::util::Callback2< P1, P2 >::isEmpty(), lass::util::Callback15< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::isEmpty(), lass::util::Callback14< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::isEmpty(), lass::util::Callback13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::isEmpty(), lass::util::Callback12< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::isEmpty(), lass::util::Callback11< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::isEmpty(), lass::util::Callback10< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::isEmpty(), lass::util::Callback1< P1 >::isEmpty(), lass::util::Callback0::isEmpty(), lass::util::CallbackR9< R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::operator num::SafeBool(), lass::util::CallbackR8< R, P1, P2, P3, P4, P5, P6, P7, P8 >::operator num::SafeBool(), lass::util::CallbackR7< R, P1, P2, P3, P4, P5, P6, P7 >::operator num::SafeBool(), lass::util::CallbackR6< R, P1, P2, P3, P4, P5, P6 >::operator num::SafeBool(), lass::util::CallbackR5< R, P1, P2, P3, P4, P5 >::operator num::SafeBool(), lass::util::CallbackR4< R, P1, P2, P3, P4 >::operator num::SafeBool(), lass::util::CallbackR3< R, P1, P2, P3 >::operator num::SafeBool(), lass::util::CallbackR2< R, P1, P2 >::operator num::SafeBool(), lass::util::CallbackR15< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::operator num::SafeBool(), lass::util::CallbackR14< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::operator num::SafeBool(), lass::util::CallbackR13< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::operator num::SafeBool(), lass::util::CallbackR12< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::operator num::SafeBool(), lass::util::CallbackR11< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::operator num::SafeBool(), lass::util::CallbackR10< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::operator num::SafeBool(), lass::util::CallbackR1< R, P1 >::operator num::SafeBool(), lass::util::CallbackR0< R >::operator num::SafeBool(), lass::util::Callback9< P1, P2, P3, P4, P5, P6, P7, P8, P9 >::operator num::SafeBool(), lass::util::Callback8< P1, P2, P3, P4, P5, P6, P7, P8 >::operator num::SafeBool(), lass::util::Callback7< P1, P2, P3, P4, P5, P6, P7 >::operator num::SafeBool(), lass::util::Callback6< P1, P2, P3, P4, P5, P6 >::operator num::SafeBool(), lass::util::Callback5< P1, P2, P3, P4, P5 >::operator num::SafeBool(), lass::util::Callback4< P1, P2, P3, P4 >::operator num::SafeBool(), lass::util::Callback3< P1, P2, P3 >::operator num::SafeBool(), lass::util::Callback2< P1, P2 >::operator num::SafeBool(), lass::util::Callback15< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::operator num::SafeBool(), lass::util::Callback14< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::operator num::SafeBool(), lass::util::Callback13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::operator num::SafeBool(), lass::util::Callback12< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::operator num::SafeBool(), lass::util::Callback11< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::operator num::SafeBool(), lass::util::Callback10< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::operator num::SafeBool(), lass::util::Callback1< P1 >::operator num::SafeBool(), lass::util::Callback0::operator num::SafeBool(), lass::util::SharedPtr< lass::util::impl::Dispatcher13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > >::operator!(), lass::util::CallbackR9< R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::operator!(), lass::util::CallbackR8< R, P1, P2, P3, P4, P5, P6, P7, P8 >::operator!(), lass::util::CallbackR7< R, P1, P2, P3, P4, P5, P6, P7 >::operator!(), lass::util::CallbackR6< R, P1, P2, P3, P4, P5, P6 >::operator!(), lass::util::CallbackR5< R, P1, P2, P3, P4, P5 >::operator!(), lass::util::CallbackR4< R, P1, P2, P3, P4 >::operator!(), lass::util::CallbackR3< R, P1, P2, P3 >::operator!(), lass::util::CallbackR2< R, P1, P2 >::operator!(), lass::util::CallbackR15< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::operator!(), lass::util::CallbackR14< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::operator!(), lass::util::CallbackR13< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::operator!(), lass::util::CallbackR12< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::operator!(), lass::util::CallbackR11< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::operator!(), lass::util::CallbackR10< R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::operator!(), lass::util::CallbackR1< R, P1 >::operator!(), lass::util::CallbackR0< R >::operator!(), lass::util::Callback9< P1, P2, P3, P4, P5, P6, P7, P8, P9 >::operator!(), lass::util::Callback8< P1, P2, P3, P4, P5, P6, P7, P8 >::operator!(), lass::util::Callback7< P1, P2, P3, P4, P5, P6, P7 >::operator!(), lass::util::Callback6< P1, P2, P3, P4, P5, P6 >::operator!(), lass::util::Callback5< P1, P2, P3, P4, P5 >::operator!(), lass::util::Callback4< P1, P2, P3, P4 >::operator!(), lass::util::Callback3< P1, P2, P3 >::operator!(), lass::util::Callback2< P1, P2 >::operator!(), lass::util::Callback15< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 >::operator!(), lass::util::Callback14< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 >::operator!(), lass::util::Callback13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 >::operator!(), lass::util::Callback12< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 >::operator!(), lass::util::Callback11< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 >::operator!(), lass::util::Callback10< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 >::operator!(), lass::util::Callback1< P1 >::operator!(), lass::util::Callback0::operator!(), lass::util::SharedPtr< lass::util::impl::Dispatcher13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > >::SharedPtr(), and lass::util::SharedPtr< lass::util::impl::Dispatcher13< P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > >::~SharedPtr().

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
const bool lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::operator! (  )  const [inline]

Definition at line 176 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::operator num::SafeBool (  )  const [inline]

Definition at line 180 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
const TStorage& lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::storage (  )  const [inline]

returns reference to storage pointer

Definition at line 186 of file shared_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage, typename CounterPolicy = DefaultCounter>
TStorage& lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::storage (  )  [inline]

returns reference to storage pointer

Definition at line 191 of file shared_ptr.h.


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

Generated on Mon Nov 10 14:22:17 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo