Loki::SmartPtr< T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy > Class Template Reference
[Smart pointers]

#include <SmartPtr.h>

List of all members.

Public Types

typedef ConstnessPolicy< T
>::Type * 
ConstPointerType
typedef ConstnessPolicy< T
>::Type & 
ConstReferenceType
typedef SP::PointerType PointerType
typedef SP::StoredType StoredType
typedef SP::ReferenceType ReferenceType
typedef Select< OP::destructiveCopy,
SmartPtr, const SmartPtr
>::Result 
CopyArg

Public Member Functions

 SmartPtr ()
 SmartPtr (ExplicitArg p)
 SmartPtr (ImplicitArg p)
 SmartPtr (CopyArg &rhs)
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
 SmartPtr (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
 SmartPtr (SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
 SmartPtr (RefToValue< SmartPtr > rhs)
 operator RefToValue ()
SmartPtroperator= (CopyArg &rhs)
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
SmartPtroperator= (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
SmartPtroperator= (SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
void Swap (SmartPtr &rhs)
 ~SmartPtr ()
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
bool Merge (SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
PointerType operator-> ()
ConstPointerType operator-> () const
ReferenceType operator * ()
ConstReferenceType operator * () const
bool operator! () const
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
bool operator== (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs) const
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
bool operator!= (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs) const
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
bool operator< (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs) const
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
bool operator> (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
bool operator<= (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1, template< class > class CNP1>
bool operator>= (const SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > &rhs)
 operator unspecified_boolean_type () const
 operator AutomaticConversionResult () const

Static Public Member Functions

static T * GetPointer (const SmartPtr &sp)


Detailed Description

template<typename T, template< class > class OwnershipPolicy, class ConversionPolicy, template< class > class CheckingPolicy, template< class > class StoragePolicy, template< class > class ConstnessPolicy>
class Loki::SmartPtr< T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >

Parameters:
OwnershipPolicy default = RefCounted,
ConversionPolicy default = DisallowConversion,
CheckingPolicy default = AssertCheck,
StoragePolicy default = DefaultSPStorage
ConstnessPolicy default = LOKI_DEFAULT_CONSTNESS
IMPORTANT NOTE
Due to threading issues, the OwnershipPolicy has been changed as follows:

Definition at line 1107 of file SmartPtr.h.


The documentation for this class was generated from the following file:
Generated on Sun Feb 25 16:52:48 2007 for Loki by  doxygen 1.5.1-p1