Counted '_Tp *'. Support construction/assignment via dynamic_cast from PtrBase<_Bt> More...
#include <Rep.h>
Public Member Functions | |
Ptr (_Tp *ptr=0) | |
Ptr (const Ptr &rhs) | |
Ptr (const PtrBase< _Bt > &rhs) | |
Ptr & | operator= (_Tp *ptr) |
Ptr & | operator= (const Ptr &rhs) |
Ptr & | operator= (const PtrBase< _Bt > &rhs) |
_Tp * | operator-> () const |
_Tp & | operator* () const |
Static Public Member Functions | |
static Ptr | cast_away_const (constPtr< _Tp, _Bt > rhs) |
Protected Member Functions | |
virtual const Rep * | refbase () const |
virtual _Bt * | base () const |
Private Attributes | |
RepPtrStore< _Tp, _Bt > | _ptr |
Counted '_Tp *'. Support construction/assignment via dynamic_cast from PtrBase<_Bt>
Constructor. From '_Tp *'. Defaults to NULL.
Ptr< _Tp, _Bt >::Ptr | ( | const Ptr< _Tp, _Bt > & | rhs | ) | [inline] |
CopyConstructor. From Ptr<_Tp,_Bt>.
Ptr< _Tp, _Bt >::Ptr | ( | const PtrBase< _Bt > & | rhs | ) | [inline] |
Constructor. From Ptr<..,_Bt>, i.e. pointer to an object that inherits _Bt.
References Ptr< _Tp, _Bt >::_ptr, and PtrBase< _Bt >::getBase().
virtual _Bt* Ptr< _Tp, _Bt >::base | ( | ) | const [inline, protected, virtual] |
_Tp& Ptr< _Tp, _Bt >::operator* | ( | ) | const [inline] |
Access the _Tp object (or SEGV if _ptr is NULL)
References Ptr< _Tp, _Bt >::_ptr.
_Tp* Ptr< _Tp, _Bt >::operator-> | ( | ) | const [inline] |
Access forwarded to the _Tp object (or SEGV if _ptr is NULL)
References Ptr< _Tp, _Bt >::_ptr.
Ptr& Ptr< _Tp, _Bt >::operator= | ( | const PtrBase< _Bt > & | rhs | ) | [inline] |
Assign from Ptr<..,_Bt>, i.e. pointer to an object that inherits _Bt.
References Ptr< _Tp, _Bt >::_ptr, and PtrBase< _Bt >::getBase().
Ptr& Ptr< _Tp, _Bt >::operator= | ( | const Ptr< _Tp, _Bt > & | rhs | ) | [inline] |
Assign from Ptr<_Tp,_Bt>.
References Ptr< _Tp, _Bt >::_ptr.
Assign from '_Tp *'.
References Ptr< _Tp, _Bt >::_ptr.
RepPtrStore<_Tp,_Bt> Ptr< _Tp, _Bt >::_ptr [private] |
The '_Tp*'.
Referenced by Ptr< _Tp, _Bt >::base(), Ptr< _Tp, _Bt >::operator*(), Ptr< _Tp, _Bt >::operator->(), Ptr< _Tp, _Bt >::operator=(), Ptr< _Tp, _Bt >::Ptr(), and Ptr< _Tp, _Bt >::refbase().