QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
Tools::SmartPointer< X > Class Template Reference

#include <SmartPointer.h>

Public Member Functions

X * get () const throw ()
 
X & operator* () const throw ()
 
X * operator-> () const throw ()
 
SmartPointeroperator= (const SmartPointer &p)
 
 SmartPointer (const SmartPointer &p) throw ()
 
 SmartPointer (X *p=0) throw ()
 
bool unique () const throw ()
 
 ~SmartPointer ()
 

Private Member Functions

void acquire (const SmartPointer &p) throw ()
 
void release ()
 

Private Attributes

const SmartPointerm_next
 
X * m_pointer
 
const SmartPointerm_prev
 

Constructor & Destructor Documentation

◆ SmartPointer() [1/2]

template<class X >
Tools::SmartPointer< X >::SmartPointer ( X * p = 0)
throw ( )
inlineexplicit

◆ ~SmartPointer()

template<class X >
Tools::SmartPointer< X >::~SmartPointer ( )
inline

◆ SmartPointer() [2/2]

template<class X >
Tools::SmartPointer< X >::SmartPointer ( const SmartPointer< X > & p)
throw ( )
inline

Member Function Documentation

◆ acquire()

template<class X >
void Tools::SmartPointer< X >::acquire ( const SmartPointer< X > & p)
throw ( )
inlineprivate

◆ get()

template<class X >
X * Tools::SmartPointer< X >::get ( ) const
throw ( )
inline

◆ operator*()

template<class X >
X & Tools::SmartPointer< X >::operator* ( ) const
throw ( )
inline

◆ operator->()

template<class X >
X * Tools::SmartPointer< X >::operator-> ( ) const
throw ( )
inline

◆ operator=()

template<class X >
SmartPointer & Tools::SmartPointer< X >::operator= ( const SmartPointer< X > & p)
inline

◆ release()

template<class X >
void Tools::SmartPointer< X >::release ( )
inlineprivate

◆ unique()

template<class X >
bool Tools::SmartPointer< X >::unique ( ) const
throw ( )
inline

Member Data Documentation

◆ m_next

template<class X >
const SmartPointer* Tools::SmartPointer< X >::m_next
mutableprivate

◆ m_pointer

template<class X >
X* Tools::SmartPointer< X >::m_pointer
private

◆ m_prev

template<class X >
const SmartPointer* Tools::SmartPointer< X >::m_prev
mutableprivate

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