Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Ptr< _Tp, _Bt > Class Template Reference

Counted '_Tp *'. Support construction/assignment via dynamic_cast from PtrBase. More...

#include <Rep.h>

Inheritance diagram for Ptr< _Tp, _Bt >:

PtrBase< _Bt > RepPtrBase List of all members.

Public Member Functions

 Ptr (_Tp *ptr=0)
 Ptr (const Ptr &rhs)
 Ptr (const PtrBase< _Bt > &rhs)
Ptroperator= (_Tp *ptr)
Ptroperator= (const Ptr &rhs)
Ptroperator= (const PtrBase< _Bt > &rhs)
_Tp * operator-> () const

Static Public Member Functions

Ptr cast_away_const (constPtr< _Tp, _Bt > rhs)

Protected Member Functions

virtual const Reprefbase () const
virtual _Bt * base () const

Private Attributes

RepPtrStore< _Tp, _Bt > _ptr

Detailed Description

template<typename _Tp, typename _Bt = _Tp>
class Ptr< _Tp, _Bt >

Counted '_Tp *'. Support construction/assignment via dynamic_cast from PtrBase.


Constructor & Destructor Documentation

template<typename _Tp, typename _Bt = _Tp>
Ptr< _Tp, _Bt >::Ptr _Tp *  ptr = 0  )  [inline]
 

Constructor. From '_Tp *'. Defaults to NULL.

template<typename _Tp, typename _Bt = _Tp>
Ptr< _Tp, _Bt >::Ptr const Ptr< _Tp, _Bt > &  rhs  )  [inline]
 

CopyConstructor. From Ptr<_Tp,_Bt>.

template<typename _Tp, typename _Bt = _Tp>
Ptr< _Tp, _Bt >::Ptr const PtrBase< _Bt > &  rhs  )  [inline]
 

Constructor. From Ptr<..,_Bt>, i.e. pointer to an object that inherits _Bt.


Member Function Documentation

template<typename _Tp, typename _Bt = _Tp>
virtual _Bt* Ptr< _Tp, _Bt >::base  )  const [inline, protected, virtual]
 

Required by inherited PtrBase.

Implements PtrBase< _Bt >.

template<typename _Tp, typename _Bt = _Tp>
Ptr Ptr< _Tp, _Bt >::cast_away_const constPtr< _Tp, _Bt >  rhs  )  [inline, static]
 

ConstCast. Create a Ptr from constPtr ('_Tp*' from 'const _Tp*').

template<typename _Tp, typename _Bt = _Tp>
_Tp* Ptr< _Tp, _Bt >::operator->  )  const [inline]
 

Access forwarded to the _Tp object (or SEGV if _ptr is NULL)

template<typename _Tp, typename _Bt = _Tp>
Ptr& Ptr< _Tp, _Bt >::operator= const PtrBase< _Bt > &  rhs  )  [inline]
 

Assign from Ptr<..,_Bt>, i.e. pointer to an object that inherits _Bt.

template<typename _Tp, typename _Bt = _Tp>
Ptr& Ptr< _Tp, _Bt >::operator= const Ptr< _Tp, _Bt > &  rhs  )  [inline]
 

Assign from Ptr<_Tp,_Bt>.

template<typename _Tp, typename _Bt = _Tp>
Ptr& Ptr< _Tp, _Bt >::operator= _Tp *  ptr  )  [inline]
 

Assign from '_Tp *'.

template<typename _Tp, typename _Bt = _Tp>
virtual const Rep* Ptr< _Tp, _Bt >::refbase  )  const [inline, protected, virtual]
 

Required by inherited RepPtrBase.

Implements RepPtrBase.


Member Data Documentation

template<typename _Tp, typename _Bt = _Tp>
RepPtrStore<_Tp,_Bt> Ptr< _Tp, _Bt >::_ptr [private]
 

The '_Tp*'.


The documentation for this class was generated from the following file:
Generated on Thu Feb 23 23:56:11 2006 for liby2util by doxygen 1.3.6