Inherits OwnershipPolicy, ConversionPolicy, CheckingPolicy< T * >, ResetPolicy< T >, and DeletePolicy< T >.
|
| template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1> |
| bool | Merge (StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > &rhs) |
| |
| void | Lock (void) |
| |
| void | Unlock (void) |
| |
|
template<class T1 > |
| bool | Equals (const T1 *p) const |
| | Helper function which can be called to avoid exposing GetPointer function.
|
| |
|
template<class T1 > |
| bool | LessThan (const T1 *p) const |
| | Helper function which can be called to avoid exposing GetPointer function.
|
| |
|
template<class T1 > |
| bool | GreaterThan (const T1 *p) const |
| | Helper function which can be called to avoid exposing GetPointer function.
|
| |
|
template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1> |
| bool | operator== (const StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > &rhs) const |
| | Equality comparison operator is templated to handle ambiguity.
|
| |
|
template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1> |
| bool | operator!= (const StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > &rhs) const |
| | Inequality comparison operator is templated to handle ambiguity.
|
| |
|
template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1> |
| bool | operator< (const StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > &rhs) const |
| | Less-than comparison operator is templated to handle ambiguity.
|
| |
|
template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1> |
| bool | operator> (const StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > &rhs) const |
| | Greater-than comparison operator is templated to handle ambiguity.
|
| |
|
template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1> |
| bool | operator<= (const StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > &rhs) const |
| | Less-than-or-equal-to operator is templated to handle ambiguity.
|
| |
|
template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1> |
| bool | operator>= (const StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > &rhs) const |
| | Greater-than-or-equal-to operator is templated to handle ambiguity.
|
| |
template<typename T, bool Strong = true, class OwnershipPolicy = Loki::TwoRefCounts, class ConversionPolicy = Loki::DisallowConversion, template< class > class CheckingPolicy = Loki::AssertCheck, template< class > class ResetPolicy = Loki::CantResetWithStrong, template< class > class DeletePolicy = Loki::DeleteSingle, template< class > class ConstnessPolicy = LOKI_DEFAULT_CONSTNESS>
template<typename T1 , bool S1, class OP1 , class CP1 , template< class > class KP1, template< class > class RP1, template< class > class DP1, template< class > class CNP1>
| bool Loki::StrongPtr< T, Strong, OwnershipPolicy, ConversionPolicy, CheckingPolicy, ResetPolicy, DeletePolicy, ConstnessPolicy >::Merge |
( |
StrongPtr< T1, S1, OP1, CP1, KP1, RP1, DP1, CNP1 > & |
rhs | ) |
|
|
inline |
Merges ownership of two StrongPtr's that point to same shared object but are not copointers. Requires Merge function in OwnershipPolicy.
- Returns
- True for success, false if not pointer to same object.