ifm::Pointer< T > Class Template Reference

List of all members.


Detailed Description

template<typename T>
class ifm::Pointer< T >

This class is an alternative to boost::intrusive_ptr using intrusive reference counting.

Makes unqualified calls to:


Public Types

typedef T *Pointer::* unspecified_bool_type

Public Member Functions

T * get () const
 operator unspecified_bool_type () const
T & operator* () const
T * operator-> () const
template<typename U>
Pointeroperator= (const Pointer< U > &p)
Pointeroperator= (const Pointer &p)
template<typename U>
 Pointer (const Pointer< U > &p)
 Pointer (const Pointer &p)
 Pointer (T *p=0, bool add_ref=true)
 ~Pointer ()

Private Member Functions

void swap (Pointer &p)

Private Attributes

T * m_p

Friends

template<typename U>
void swap (Pointer< U > &lhs, Pointer< U > &rhs)

Member Typedef Documentation

template<typename T>
typedef T* Pointer::* ifm::Pointer< T >::unspecified_bool_type


Constructor & Destructor Documentation

template<typename T>
ifm::Pointer< T >::Pointer ( T *  p = 0,
bool  add_ref = true 
)

Creates a Pointer.

Parameters:
p The pointer
add_ref If true, the reference count for the pointed at object will be increased.

template<typename T>
ifm::Pointer< T >::Pointer ( const Pointer< T > &  p  ) 

template<typename T>
template<typename U>
ifm::Pointer< T >::Pointer ( const Pointer< U > &  p  ) 

template<typename T>
ifm::Pointer< T >::~Pointer (  ) 


Member Function Documentation

template<typename T>
T* ifm::Pointer< T >::get (  )  const

template<typename T>
ifm::Pointer< T >::operator unspecified_bool_type (  )  const

template<typename T>
T& ifm::Pointer< T >::operator* (  )  const

template<typename T>
T* ifm::Pointer< T >::operator-> (  )  const

template<typename T>
template<typename U>
Pointer& ifm::Pointer< T >::operator= ( const Pointer< U > &  p  ) 

template<typename T>
Pointer& ifm::Pointer< T >::operator= ( const Pointer< T > &  p  ) 

template<typename T>
void ifm::Pointer< T >::swap ( Pointer< T > &  p  )  [private]


Friends And Related Function Documentation

template<typename T>
template<typename U>
void swap ( Pointer< U > &  lhs,
Pointer< U > &  rhs 
) [friend]


Member Data Documentation

template<typename T>
T* ifm::Pointer< T >::m_p [private]


doxygen Get IFM - Interface Management System at SourceForge.net. Fast, secure and Free Open Source software downloads