CppMicroServices

C++ Micro Services: ExplicitlySharedDataPointer< T > Class Template Reference
ExplicitlySharedDataPointer< T > Class Template Reference
Inheritance diagram for ExplicitlySharedDataPointer< T >:

Public Types

typedef T Type
 
typedef T * pointer
 

Public Member Functions

T & operator* () const
 
T * operator-> ()
 
T * operator-> () const
 
T * Data () const
 
const T * ConstData () const
 
void Detach ()
 
void Reset ()
 
 operator bool () const
 
bool operator== (const ExplicitlySharedDataPointer< T > &other) const
 
bool operator!= (const ExplicitlySharedDataPointer< T > &other) const
 
bool operator== (const T *ptr) const
 
bool operator!= (const T *ptr) const
 
 ExplicitlySharedDataPointer ()
 
 ~ExplicitlySharedDataPointer ()
 
 ExplicitlySharedDataPointer (T *data)
 
 ExplicitlySharedDataPointer (const ExplicitlySharedDataPointer< T > &o)
 
template<class X >
 ExplicitlySharedDataPointer (const ExplicitlySharedDataPointer< X > &o)
 
ExplicitlySharedDataPointer< T > & operator= (const ExplicitlySharedDataPointer< T > &o)
 
ExplicitlySharedDataPointeroperator= (T *o)
 
bool operator! () const
 
void Swap (ExplicitlySharedDataPointer &other)
 

Protected Member Functions

T * Clone ()
 

Member Typedef Documentation

template<class T>
typedef T* ExplicitlySharedDataPointer< T >::pointer
template<class T>
typedef T ExplicitlySharedDataPointer< T >::Type

Constructor & Destructor Documentation

template<class T>
ExplicitlySharedDataPointer< T >::ExplicitlySharedDataPointer ( )
inline
template<class T>
ExplicitlySharedDataPointer< T >::~ExplicitlySharedDataPointer ( )
inline
template<class T>
ExplicitlySharedDataPointer< T >::ExplicitlySharedDataPointer ( T *  data)
explicit
template<class T>
ExplicitlySharedDataPointer< T >::ExplicitlySharedDataPointer ( const ExplicitlySharedDataPointer< T > &  o)
inline
template<class T>
template<class X >
ExplicitlySharedDataPointer< T >::ExplicitlySharedDataPointer ( const ExplicitlySharedDataPointer< X > &  o)
inline

Member Function Documentation

template<class T >
T * ExplicitlySharedDataPointer< T >::Clone ( )
protected
template<class T>
const T* ExplicitlySharedDataPointer< T >::ConstData ( ) const
inline
template<class T>
T* ExplicitlySharedDataPointer< T >::Data ( ) const
inline
template<class T>
void ExplicitlySharedDataPointer< T >::Detach ( )
inline
template<class T>
ExplicitlySharedDataPointer< T >::operator bool ( ) const
inline
template<class T>
bool ExplicitlySharedDataPointer< T >::operator! ( ) const
inline
template<class T>
bool ExplicitlySharedDataPointer< T >::operator!= ( const ExplicitlySharedDataPointer< T > &  other) const
inline
template<class T>
bool ExplicitlySharedDataPointer< T >::operator!= ( const T *  ptr) const
inline
template<class T>
T& ExplicitlySharedDataPointer< T >::operator* ( ) const
inline
template<class T>
T* ExplicitlySharedDataPointer< T >::operator-> ( )
inline
template<class T>
T* ExplicitlySharedDataPointer< T >::operator-> ( ) const
inline
template<class T>
ExplicitlySharedDataPointer<T>& ExplicitlySharedDataPointer< T >::operator= ( const ExplicitlySharedDataPointer< T > &  o)
inline
template<class T>
ExplicitlySharedDataPointer& ExplicitlySharedDataPointer< T >::operator= ( T *  o)
inline
template<class T>
bool ExplicitlySharedDataPointer< T >::operator== ( const ExplicitlySharedDataPointer< T > &  other) const
inline
template<class T>
bool ExplicitlySharedDataPointer< T >::operator== ( const T *  ptr) const
inline
template<class T>
void ExplicitlySharedDataPointer< T >::Reset ( )
inline
template<class T>
void ExplicitlySharedDataPointer< T >::Swap ( ExplicitlySharedDataPointer< T > &  other)
inline