Xpace
Xpace::SharedImplPointer< T, cached > Class Template Reference

A pointer to a shared class object Copying the pointer calls T::clone() T must inherit SharedImpl. More...

#include <sharedimpl.h>

Public Member Functions

 SharedImplPointer (T *p)
 
 SharedImplPointer ()
 
 SharedImplPointer (const SharedImplPointer< T, cached > &rhs)
 
SharedImplPointeroperator= (const SharedImplPointer< T, cached > &rhs)
 
 ~SharedImplPointer ()
 
SharedImplPointeroperator= (T *p)
 
bool operator! () const
 
T * data ()
 
const T * data () const
 
const T * constData () const
 
T * operator-> ()
 
const T * operator-> () const
 
int getRefCount () const
 

Detailed Description

template<typename T, bool cached = false>
class Xpace::SharedImplPointer< T, cached >

A pointer to a shared class object Copying the pointer calls T::clone() T must inherit SharedImpl.

Definition at line 82 of file sharedimpl.h.

Constructor & Destructor Documentation

template<typename T, bool cached>
Xpace::SharedImplPointer< T, cached >::SharedImplPointer ( T *  p)
inlineexplicit
Parameters
pthe object to be wrapped

Definition at line 195 of file sharedimpl.h.

References Xpace::SharedImplPointer< T, cached >::SharedImplPointer().

template<typename T, bool cached>
Xpace::SharedImplPointer< T, cached >::SharedImplPointer ( const SharedImplPointer< T, cached > &  rhs)
inline
template<typename T , bool cached>
Xpace::SharedImplPointer< T, cached >::~SharedImplPointer ( )
inline

Member Function Documentation

template<typename T, bool cached>
SharedImplPointer< T, cached > & Xpace::SharedImplPointer< T, cached >::operator= ( const SharedImplPointer< T, cached > &  rhs)
inline

Definition at line 228 of file sharedimpl.h.

template<typename T, bool cached>
SharedImplPointer< T, cached > & Xpace::SharedImplPointer< T, cached >::operator= ( T *  p)
inline

Definition at line 238 of file sharedimpl.h.

template<typename T , bool cached>
bool Xpace::SharedImplPointer< T, cached >::operator! ( ) const
inline
Returns
true if pointer is null

Definition at line 248 of file sharedimpl.h.

References Xpace::SharedImplPointer< T, cached >::data().

template<typename T , bool cached>
T * Xpace::SharedImplPointer< T, cached >::data ( )
inline
Returns
a writable pointer

Definition at line 257 of file sharedimpl.h.

Referenced by Xpace::SharedImplPointer< T, cached >::operator!().

template<typename T , bool cached>
const T * Xpace::SharedImplPointer< T, cached >::data ( ) const
inline
Returns
a non-writable pointer

Definition at line 265 of file sharedimpl.h.

References Xpace::SharedImplPointer< T, cached >::constData().

template<typename T , bool cached>
const T * Xpace::SharedImplPointer< T, cached >::constData ( ) const
inline
Returns
a non-writable pointer (even if object is non-const)

Definition at line 274 of file sharedimpl.h.

References Xpace::SharedImplPointer< T, cached >::getRefCount().

Referenced by Xpace::SharedImplPointer< T, cached >::data().

template<typename T, bool cached = false>
T* Xpace::SharedImplPointer< T, cached >::operator-> ( )
inline
Returns
a writable pointer

Definition at line 121 of file sharedimpl.h.

template<typename T, bool cached = false>
const T* Xpace::SharedImplPointer< T, cached >::operator-> ( ) const
inline
Returns
a non-writable pointer

Definition at line 128 of file sharedimpl.h.

template<typename T , bool cached>
int Xpace::SharedImplPointer< T, cached >::getRefCount ( ) const
inline

Definition at line 284 of file sharedimpl.h.

Referenced by Xpace::SharedImplPointer< T, cached >::constData().


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

current as of Wed Jun 10 2026 12:00:06