Inheritance diagram for Loki::SmartPtr< T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy >:
|
Public Types |
| 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> | SmartPtr (const SmartPtr< T1, OP1, CP1, KP1, SP1 > &rhs) |
| template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1> | SmartPtr (SmartPtr< T1, OP1, CP1, KP1, SP1 > &rhs) |
| | SmartPtr (ByRef< SmartPtr > rhs) |
| | operator ByRef () |
| SmartPtr & | operator= (CopyArg &rhs) |
| template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1> SmartPtr & | operator= (const SmartPtr< T1, OP1, CP1, KP1, SP1 > &rhs) |
| template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1> SmartPtr & | operator= (SmartPtr< T1, OP1, CP1, KP1, SP1 > &rhs) |
| void | Swap (SmartPtr &rhs) |
| | ~SmartPtr () |
| PointerType | operator-> () |
| PointerType | operator-> () const |
| ReferenceType | operator * () |
| ReferenceType | operator * () const |
| bool | operator! () const |
| template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1> bool | operator== (const SmartPtr< T1, OP1, CP1, KP1, SP1 > &rhs) const |
| template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1> bool | operator!= (const SmartPtr< T1, OP1, CP1, KP1, SP1 > &rhs) const |
| template<typename T1, template< class > class OP1, class CP1, template< class > class KP1, template< class > class SP1> bool | operator< (const SmartPtr< T1, OP1, CP1, KP1, SP1 > &rhs) const |
| | operator unspecified_boolean_type () const |
| | operator AutomaticConversionResult () const |
Private Types |
| typedef StoragePolicy< T > | SP |
typedef OwnershipPolicy< typename
StoragePolicy< T >::PointerType > | OP |
typedef CheckingPolicy< typename
StoragePolicy< T >::StoredType > | KP |
| typedef ConversionPolicy | CP |
| typedef const StoredType & | ImplicitArg |
typedef Select< false, const
StoredType &, NeverMatched
>::Result | ExplicitArg |
| typedef void(Tester::* | unspecified_boolean_type_ )() |
typedef Select< CP::allow,
Tester, unspecified_boolean_type_
>::Result | unspecified_boolean_type |
typedef Select< CP::allow,
PointerType, Insipid >::Result | AutomaticConversionResult |
Friends |
| void | Release (SmartPtr &sp, typename SP::StoredType &p) |
| void | Reset (SmartPtr &sp, typename SP::StoredType p) |