|
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 Loki::Select< OP::destructiveCopy,
SmartPtr, const SmartPtr
>::Result | CopyArg |
Public Member Functions |
| | SmartPtr () |
| | SmartPtr (H *h, bool s, T *p) |
| | SmartPtr (ExplicitArg p) |
| | SmartPtr (ImplicitArg p) |
| | SmartPtr (CopyArg &rhs) |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> | SmartPtr (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> | SmartPtr (SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| | SmartPtr (Loki::RefToValue< SmartPtr > rhs) |
| | operator Loki::RefToValue () |
| SmartPtr & | operator= (CopyArg &rhs) |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> SmartPtr & | operator= (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> SmartPtr & | operator= (SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| void | Swap (SmartPtr &rhs) |
| | ~SmartPtr () |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> bool | Merge (SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| PointerType | operator-> () |
| ConstPointerType | operator-> () const |
| ReferenceType | operator * () |
| ConstReferenceType | operator * () const |
| bool | operator! () const |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> bool | operator== (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) const |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> bool | operator!= (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) const |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> bool | operator< (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) const |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> bool | operator> (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> bool | operator<= (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| template<typename T1, typename H1, template< class > class OP1, class CP1, template< class > class KP1, template< class, class > class SP1, template< class > class CNP1> bool | operator>= (const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > &rhs) |
| | operator unspecified_boolean_type () const |
| | operator AutomaticConversionResult () const |
Static Public Member Functions |
| T * | GetPointer (const SmartPtr &sp) |
Private Types |
| typedef StoragePolicy< T, H > | SP |
typedef OwnershipPolicy< typename
StoragePolicy< T, H >::PointerType > | OP |
typedef CheckingPolicy< typename
StoragePolicy< T, H >::StoredType > | KP |
| typedef ConversionPolicy | CP |
| typedef const StoredType & | ImplicitArg |
typedef Loki::Select< false,
const StoredType &, NeverMatched
>::Result | ExplicitArg |
| typedef void(Tester::* | unspecified_boolean_type_ )() |
typedef Loki::Select< CP::allow,
Tester, unspecified_boolean_type_
>::Result | unspecified_boolean_type |
typedef Loki::Select< CP::allow,
PointerType, Insipid >::Result | AutomaticConversionResult |
Friends |
| void | Release (SmartPtr &sp, typename SP::StoredType &p) |
| void | Reset (SmartPtr &sp, typename SP::StoredType p) |