libcamgm
|
#include <PtrTypes.hpp>
Public Types | |
typedef _Traits::_Ptr | _Ptr |
typedef _Traits::_constPtr | _constPtr |
Public Member Functions | |
RWCOW_pointer (typename _Ptr::element_type *dptr=0) | |
RWCOW_pointer (_Ptr dptr) | |
void | reset () |
void | reset (typename _Ptr::element_type *dptr) |
void | swap (RWCOW_pointer &rhs) |
void | swap (_Ptr &rhs) |
operator bool () const | |
const _D & | operator* () const |
const _D * | operator-> () const |
const _D * | get () const |
_D & | operator* () |
_D * | operator-> () |
_D * | get () |
bool | unique () const |
long | use_count () const |
_constPtr | getPtr () const |
_Ptr | getPtr () |
_constPtr | cgetPtr () |
Private Member Functions | |
void | assertUnshared () |
Private Attributes | |
_Ptr | _dptr |
Related Functions | |
(Note that these are not member functions.) | |
template<class _D > | |
_D * | rwcowClone (const _D *rhs) |
template<class _D , class _Ptr > | |
std::ostream & | operator<< (std::ostream &str, const RWCOW_pointer< _D, _Ptr > &obj) |
template<class _D , class _Ptr > | |
bool | operator== (const RWCOW_pointer< _D, _Ptr > &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_Ptr &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const typename _Ptr::_Ptr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_constPtr &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const typename _Ptr::_constPtr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RWCOW_pointer< _D, _Ptr > &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_Ptr &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const typename _Ptr::_Ptr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_constPtr &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const typename _Ptr::_constPtr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
RW_pointer supporting 'copy on write' functionality.
Write access to the underlying object creates a copy, iff the object is shared.
See RW_pointer.
typedef _Traits::_constPtr ca_mgm::RWCOW_pointer< _D, _Traits >::_constPtr |
typedef _Traits::_Ptr ca_mgm::RWCOW_pointer< _D, _Traits >::_Ptr |
|
inlineexplicit |
|
inlineexplicit |
|
inlineprivate |
|
inline |
|
inline |
Referenced by ca_mgm::RWCOW_pointer< _D, _Traits >::operator==().
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::assertUnshared().
|
inline |
|
private |
Referenced by ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::assertUnshared(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::cgetPtr(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::get(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::getPtr(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::operator bool(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::operator*(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::operator->(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::reset(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::swap(), ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::unique(), and ca_mgm::RWCOW_pointer< ExtensionBaseImpl >::use_count().