yast2-core
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
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

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
 
- Public Member Functions inherited from RepPtrBase
 operator const void * () const
 

Protected Member Functions

virtual const Reprefbase () const
 
virtual const _Bt * base () const
 
- Protected Member Functions inherited from constPtrBase< _Bt >
const _Bt * getBase (const constPtrBase &rhs) const
 
const _Bt * getBase (const PtrBase< _Bt > &rhs) const
 
- Protected Member Functions inherited from RepPtrBase
virtual ~RepPtrBase ()
 

Private Attributes

RepPtrStore< const _Tp, const _Bt > _ptr
 

Detailed Description

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

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

Constructor & Destructor Documentation

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

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

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

CopyConstructor. From constPtr<_Tp,_Bt>.

template<typename _Tp, typename _Bt>
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>
constPtr< _Tp, _Bt >::constPtr ( const Ptr< _Tp, _Bt > &  rhs)
inline

Constructor. From nonconst Ptr<_Tp,_Bt>.

template<typename _Tp, typename _Bt>
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>
virtual const _Bt* constPtr< _Tp, _Bt >::base ( ) const
inlineprotectedvirtual

Required by inherited PtrBase.

Implements constPtrBase< _Bt >.

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

template<typename _Tp, typename _Bt>
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>
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>
constPtr& constPtr< _Tp, _Bt >::operator= ( const _Tp *  ptr)
inline

Assign from 'const _Tp *'.

References constPtr< _Tp, _Bt >::_ptr.

template<typename _Tp, typename _Bt>
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>
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>
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>
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>
virtual const Rep* constPtr< _Tp, _Bt >::refbase ( ) const
inlineprotectedvirtual

Required by inherited RepPtrBase.

Implements RepPtrBase.

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

Member Data Documentation

template<typename _Tp, typename _Bt>
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.8.5