constPtr< _Tp, _Bt > Class Template Reference

Counted 'const _Tp *'. Support construction/assignment via dynamic_cast from constPtrBase<_Bt>. More...

#include <Rep.h>

Inheritance diagram for constPtr< _Tp, _Bt >:

constPtrBase< _Bt > RepPtrBase

List of all members.

Public Member Functions

 constPtr (const _Tp *ptr=0)
 constPtr (const constPtr &rhs)
 constPtr (const constPtrBase< _Bt > &rhs)
constPtroperator= (const _Tp *ptr)
constPtroperator= (const constPtr &rhs)
constPtroperator= (const constPtrBase< _Bt > &rhs)
 constPtr (const Ptr< _Tp, _Bt > &rhs)
 constPtr (const PtrBase< _Bt > &rhs)
constPtroperator= (const Ptr< _Tp, _Bt > &rhs)
constPtroperator= (const PtrBase< _Bt > &rhs)
const _Tp * operator-> () const
const _Tp & operator* () const

Protected Member Functions

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

Private Attributes

RepPtrStore< const _Tp, const _Bt > _ptr


Detailed Description

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

Counted 'const _Tp *'. Support construction/assignment via dynamic_cast from constPtrBase<_Bt>.

Constructor & Destructor Documentation

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

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

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

CopyConstructor. From constPtr<_Tp,_Bt>.

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

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

References constPtr< _Tp, _Bt >::_ptr, constPtrBase< _Bt >::getBase(), and RepPtrStore< _Tp, _Bt >::tryAssign().

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

Constructor. From nonconst Ptr<_Tp,_Bt>.

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

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

References constPtr< _Tp, _Bt >::_ptr, constPtrBase< _Bt >::getBase(), and RepPtrStore< _Tp, _Bt >::tryAssign().


Member Function Documentation

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

Required by inherited PtrBase.

Implements constPtrBase< _Bt >.

References constPtr< _Tp, _Bt >::_ptr, and RepPtrStore< _Tp, _Bt >::base().

template<typename _Tp, typename _Bt = _Tp>
const _Tp& constPtr< _Tp, _Bt >::operator* (  )  const [inline]

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

References constPtr< _Tp, _Bt >::_ptr.

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

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

References constPtr< _Tp, _Bt >::_ptr.

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

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

References constPtr< _Tp, _Bt >::_ptr, constPtrBase< _Bt >::getBase(), and RepPtrStore< _Tp, _Bt >::tryAssign().

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

Assign from nonconst Ptr<_Tp,_Bt>.

References constPtr< _Tp, _Bt >::_ptr.

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

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

References constPtr< _Tp, _Bt >::_ptr, constPtrBase< _Bt >::getBase(), and RepPtrStore< _Tp, _Bt >::tryAssign().

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

Assign from constPtr<_Tp,_Bt>.

References constPtr< _Tp, _Bt >::_ptr.

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

Assign from 'const _Tp *'.

References constPtr< _Tp, _Bt >::_ptr.

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

Required by inherited RepPtrBase.

Implements RepPtrBase.

References constPtr< _Tp, _Bt >::_ptr, and RepPtrStore< _Tp, _Bt >::refbase().


Member Data Documentation

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


The documentation for this class was generated from the following file:

Generated on a sunny day for yast2-core by doxygen 1.5.9