#include <acsComponentSmartPtr.h>
Classes | |
struct | Insipid |
struct | Tester |
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 (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 > () | |
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 () | |
void | release () |
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 | |
static 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 |
typedef Loki::Select<CP::allow, PointerType, Insipid>::Result maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::AutomaticConversionResult [private] |
typedef ConstnessPolicy<T>::Type* maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::ConstPointerType |
typedef ConstnessPolicy<T>::Type& maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::ConstReferenceType |
typedef Loki::Select<OP::destructiveCopy,SmartPtr, const SmartPtr>::Result maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::CopyArg |
typedef ConversionPolicy maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::CP [private] |
typedef Loki::Select<false, const StoredType&, NeverMatched>::Result maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::ExplicitArg [private] |
typedef const StoredType& maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::ImplicitArg [private] |
typedef CheckingPolicy<typename StoragePolicy<T,H>::StoredType> maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::KP [private] |
typedef OwnershipPolicy<typename StoragePolicy<T,H>::PointerType> maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::OP [private] |
typedef SP::PointerType maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::PointerType |
typedef SP::ReferenceType maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::ReferenceType |
typedef StoragePolicy<T,H> maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::SP [private] |
typedef SP::StoredType maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::StoredType |
typedef Loki::Select<CP::allow, Tester, unspecified_boolean_type_>::Result maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::unspecified_boolean_type [private] |
typedef void(Tester::* maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::unspecified_boolean_type_)() [private] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::SmartPtr | ( | ) | [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::SmartPtr | ( | H * | h, | |
bool | s, | |||
T * | p | |||
) | [inline] |
Constructor. Create a smart pointer for the component described.
h | is the handle of the requestor of the component | |
s | is the flag indicating if the reference is sticky. @ | |
p | is the pointer to the component. |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::SmartPtr | ( | CopyArg & | rhs | ) | [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::SmartPtr | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::SmartPtr | ( | SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::SmartPtr | ( | Loki::RefToValue< SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy > > | rhs | ) | [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::~SmartPtr | ( | ) | [inline] |
static T* maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::GetPointer | ( | const SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy > & | sp | ) | [inline, static] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::Merge | ( | SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator AutomaticConversionResult | ( | ) | const [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator Loki::RefToValue< SmartPtr > | ( | ) | [inline] |
maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator unspecified_boolean_type | ( | ) | const [inline] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator! | ( | ) | const [inline] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator!= | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | const [inline] |
ReferenceType maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator* | ( | ) | [inline] |
ConstReferenceType maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator* | ( | ) | const [inline] |
ConstPointerType maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator-> | ( | ) | const [inline] |
PointerType maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator-> | ( | ) | [inline] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator< | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | const [inline] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator<= | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
SmartPtr& maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator= | ( | CopyArg & | rhs | ) | [inline] |
SmartPtr& maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator= | ( | SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
SmartPtr& maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator= | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator== | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | const [inline] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator> | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
bool maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::operator>= | ( | const SmartPtr< T1, H1, OP1, CP1, KP1, SP1, CNP1 > & | rhs | ) | [inline] |
void maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::release | ( | ) | [inline] |
void maci::SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >::Swap | ( | SmartPtr< T, H, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy > & | rhs | ) | [inline] |