FreeCAD C++
Public Member Functions | List of all members
Base::Reference< T > Class Template Reference

#include <Base/Handle.h>

Detailed Description

template<class T>
class Base::Reference< T >

Reference class Implementation of the reference counting pattern. Only able to instantiate with a class inheriting Base::Handled.

Public Member Functions

 Reference ()
 
 Reference (const Reference< T > &p)
 
 ~Reference ()
 
Reference< T > & operator= (T *p)
 
Reference< T > & operator= (const Reference< T > &p)
 
T & operator * () const
 
T * operator-> () const
 
bool operator< (const Reference< T > &p) const
 
bool operator== (const Reference< T > &p) const
 
bool isValid (void) const
 Test if it handles something.
 
bool isNull (void) const
 Test if it does not handle anything.
 
int getRefCount (void) const
 Get number of references on the object, including this one.
 

Constructor & Destructor Documentation

◆ Reference() [1/2]

template<class T>
Base::Reference< T >::Reference ( )

Pointer and default constructor

◆ Reference() [2/2]

template<class T>
Base::Reference< T >::Reference ( const Reference< T > &  p)

Copy constructor

◆ ~Reference()

template<class T>
Base::Reference< T >::~Reference ( )

destructor Release the reference counter which causes, in case of the last one, the referenced object to be destructed!

Member Function Documentation

◆ operator *()

template<class T>
T& Base::Reference< T >::operator * ( ) const

Dereference operator

◆ operator->()

template<class T>
T* Base::Reference< T >::operator-> ( ) const

Dereference operator

◆ operator<()

template<class T>
bool Base::Reference< T >::operator< ( const Reference< T > &  p) const

Lower operator, needed for sorting in maps and sets

◆ operator=() [1/2]

template<class T>
Reference<T>& Base::Reference< T >::operator= ( T *  p)

Assign operator from a pointer

◆ operator=() [2/2]

template<class T>
Reference<T>& Base::Reference< T >::operator= ( const Reference< T > &  p)

Assign operator from a handle

◆ operator==()

template<class T>
bool Base::Reference< T >::operator== ( const Reference< T > &  p) const

Equal operator