Smart pointers

Collaboration diagram for Smart pointers:


Namespaces

namespace  std

Modules

 Ownership policies
 Storage policies
 Conversion policies
 Checking policies

Classes

struct  Loki::NullPointerException
class  Loki::ByRef< T >
class  Loki::SmartPtr< T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy >

Functions

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator== (const SmartPtr< T, OP, CP, KP, SP > &lhs, U *rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator== (U *lhs, const SmartPtr< T, OP, CP, KP, SP > &rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator!= (const SmartPtr< T, OP, CP, KP, SP > &lhs, U *rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator!= (U *lhs, const SmartPtr< T, OP, CP, KP, SP > &rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator< (const SmartPtr< T, OP, CP, KP, SP > &lhs, U *rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator< (U *lhs, const SmartPtr< T, OP, CP, KP, SP > &rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator> (U *lhs, const SmartPtr< T, OP, CP, KP, SP > &rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator<= (const SmartPtr< T, OP, CP, KP, SP > &lhs, U *rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator<= (U *lhs, const SmartPtr< T, OP, CP, KP, SP > &rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator>= (const SmartPtr< T, OP, CP, KP, SP > &lhs, U *rhs)
template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator>= (U *lhs, const SmartPtr< T, OP, CP, KP, SP > &rhs)

Detailed Description

Policy based implementation of a smart pointer

Function Documentation

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator!= U *  lhs,
const SmartPtr< T, OP, CP, KP, SP > &  rhs
[inline]
 

operator!= for lhs = raw pointer, rhs = SmartPtr

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator!= const SmartPtr< T, OP, CP, KP, SP > &  lhs,
U *  rhs
[inline]
 

operator!= for lhs = SmartPtr, rhs = raw pointer

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator< U *  lhs,
const SmartPtr< T, OP, CP, KP, SP > &  rhs
[inline]
 

operator< for lhs = raw pointer, rhs = SmartPtr -- NOT DEFINED

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator< const SmartPtr< T, OP, CP, KP, SP > &  lhs,
U *  rhs
[inline]
 

operator< for lhs = SmartPtr, rhs = raw pointer -- NOT DEFINED

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator<= U *  lhs,
const SmartPtr< T, OP, CP, KP, SP > &  rhs
[inline]
 

operator<= for lhs = raw pointer, rhs = SmartPtr

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator<= const SmartPtr< T, OP, CP, KP, SP > &  lhs,
U *  rhs
[inline]
 

operator<= for lhs = SmartPtr, rhs = raw pointer

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator== U *  lhs,
const SmartPtr< T, OP, CP, KP, SP > &  rhs
[inline]
 

operator== for lhs = raw pointer, rhs = SmartPtr

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator== const SmartPtr< T, OP, CP, KP, SP > &  lhs,
U *  rhs
[inline]
 

operator== for lhs = SmartPtr, rhs = raw pointer

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator> U *  lhs,
const SmartPtr< T, OP, CP, KP, SP > &  rhs
[inline]
 

operator> for lhs = raw pointer, rhs = SmartPtr

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator>= U *  lhs,
const SmartPtr< T, OP, CP, KP, SP > &  rhs
[inline]
 

operator>= for lhs = raw pointer, rhs = SmartPtr

template<typename T, template< class > class OP, class CP, template< class > class KP, template< class > class SP, typename U>
bool Loki::operator>= const SmartPtr< T, OP, CP, KP, SP > &  lhs,
U *  rhs
[inline]
 

operator>= for lhs = SmartPtr, rhs = raw pointer


Generated on Mon Jan 9 09:34:34 2006 for Loki by  doxygen 1.4.5