library of assembled shared sources

http://lass.cocamware.com

lass::util::ScopedPtr< T, StoragePolicy > Class Template Reference

#include <scoped_ptr.h>

Inheritance diagram for lass::util::ScopedPtr< T, StoragePolicy >:

Inheritance graph
[legend]

Data Structures

struct  Rebind

Public Types

typedef T TPointee
typedef StoragePolicy< T,
NonCopyable
TStoragePolicy
typedef TStoragePolicy::TStorage TStorage
typedef TStoragePolicy::TPointer TPointer
typedef TStoragePolicy::TReference TReference

Public Member Functions

 ScopedPtr ()
 ScopedPtr (TPointer p)
template<typename U >
 ScopedPtr (std::auto_ptr< U > &p)
 ~ScopedPtr ()
void reset (TPointer p=0)
template<typename U >
void reset (std::auto_ptr< U > &p)
void swap (ScopedPtr &other)
TPointer get () const
TPointer operator-> () const
TReference operator* () const
TReference operator[] (size_t i) 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>
class lass::util::ScopedPtr< T, StoragePolicy >

Definition at line 61 of file scoped_ptr.h.


Member Typedef Documentation

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage>
typedef T lass::util::ScopedPtr< T, StoragePolicy >::TPointee

Definition at line 65 of file scoped_ptr.h.

template<typename T , template< typename, typename > class StoragePolicy = ObjectStorage>
typedef StoragePolicy<T, NonCopyable> lass::util::ScopedPtr< T, StoragePolicy >::TStoragePolicy

Definition at line 66 of file scoped_ptr.h.

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

Definition at line 67 of file scoped_ptr.h.

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

Definition at line 68 of file scoped_ptr.h.

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

Definition at line 69 of file scoped_ptr.h.


Constructor & Destructor Documentation

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

Definition at line 76 of file scoped_ptr.h.

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

Definition at line 80 of file scoped_ptr.h.

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

Definition at line 84 of file scoped_ptr.h.

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

Definition at line 90 of file scoped_ptr.h.


Member Function Documentation

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

Definition at line 95 of file scoped_ptr.h.

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

Definition at line 100 of file scoped_ptr.h.

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

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

Definition at line 110 of file scoped_ptr.h.

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

Definition at line 114 of file scoped_ptr.h.

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

Definition at line 119 of file scoped_ptr.h.

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

Definition at line 124 of file scoped_ptr.h.

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

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

Definition at line 134 of file scoped_ptr.h.

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

Definition at line 138 of file scoped_ptr.h.

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

returns reference to storage pointer

Definition at line 144 of file scoped_ptr.h.

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

returns reference to storage pointer

Definition at line 149 of file scoped_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