VarPtr< _Rep > Class Template Reference
Simple counted pointer with variable like const access.
More...
#include <Rep.h>
Inheritance diagram for VarPtr< _Rep >:
List of all members.
Detailed Description
template<typename _Rep>
class VarPtr< _Rep >
Simple counted pointer with variable like const access.
On construction and assignment it behaves like a pointer. I.e. a 'const VarPtr<_Tp>' is a '_Tp *const'.
But accessing _Tp (via operator-> or operator*) its constness is propagated to _Tp. I.e. 'VarPtr<_Tp>' behaves like a '_Tp *' while a 'const VarPtr<_Tp>' behaves as a 'const _Tp *'.
Used in some classes to hide implementation data from the interface:
class Foo
{
class _Implementation;
VarPtr<_Implementation> _impl;
...
All a VarPtr does, is preventing accidential access to nonconst implementation data from const interface methods. If such access is intended is has to be expressed by using a cost_cast.
Constructor & Destructor Documentation
|
template<typename _Rep> |
| VarPtr< _Rep >::VarPtr |
( |
_Rep * |
ptr_r |
) |
[inline, explicit] |
|
Member Function Documentation
|
template<typename _Rep> |
| const _Rep& VarPtr< _Rep >::operator * |
( |
|
) |
const [inline] |
|
|
template<typename _Rep> |
| _Rep& VarPtr< _Rep >::operator * |
( |
|
) |
[inline] |
|
|
template<typename _Rep> |
| const _Rep* VarPtr< _Rep >::operator-> |
( |
|
) |
const [inline] |
|
|
template<typename _Rep> |
| _Rep* VarPtr< _Rep >::operator-> |
( |
|
) |
[inline] |
|
|
template<typename _Rep> |
| _Rep* VarPtr< _Rep >::ptr |
( |
|
) |
const [inline, private] |
|
The documentation for this class was generated from the following file:
Generated on Fri Feb 24 00:32:35 2006 for liby2util by
1.4.4