Simbody
|
Wrap a pointer to an abstract base class in a way that makes it behave like a concrete class (sometimes called a "ClonePtr"). More...
#include <Concretize.h>
Public Member Functions | |
Concretize () | |
Concretize (T *obj) | |
Concretize (T **obj) | |
Concretize (const T *obj) | |
Concretize (const T &obj) | |
Concretize (const Concretize &c) | |
Concretize & | operator= (const Concretize &c) |
Concretize & | operator= (const T &t) |
Concretize & | operator= (T *tp) |
~Concretize () | |
bool | operator== (const Concretize &c) const |
bool | operator!= (const Concretize &c) const |
const T * | operator-> () const |
T * | operator-> () |
operator const T & () const | |
implicit conversions | |
operator T & () | |
T & | updRef () |
const T & | getRef () const |
bool | isEmpty () const |
void | clear () |
T * | extract () |
void | replace (T *tp) |
void | replace (T **tpp) |
Wrap a pointer to an abstract base class in a way that makes it behave like a concrete class (sometimes called a "ClonePtr").
The abstract base class must cooperate by containing a clone() method which returns a pointer to a copy of the concrete object.
The Concretize object normally makes a copy of the object passed to its constructor. However, if you pass it a non-const pointer Concretize will steal it and (if possible) return your pointer null just to be tidy.
SimTK::Concretize< T >::Concretize | ( | ) | [inline] |
SimTK::Concretize< T >::Concretize | ( | T * | obj | ) | [inline, explicit] |
SimTK::Concretize< T >::Concretize | ( | T ** | obj | ) | [inline, explicit] |
SimTK::Concretize< T >::Concretize | ( | const T * | obj | ) | [inline, explicit] |
SimTK::Concretize< T >::Concretize | ( | const T & | obj | ) | [inline, explicit] |
SimTK::Concretize< T >::Concretize | ( | const Concretize< T > & | c | ) | [inline] |
SimTK::Concretize< T >::~Concretize | ( | ) | [inline] |
Concretize& SimTK::Concretize< T >::operator= | ( | const Concretize< T > & | c | ) | [inline] |
Concretize& SimTK::Concretize< T >::operator= | ( | const T & | t | ) | [inline] |
Concretize& SimTK::Concretize< T >::operator= | ( | T * | tp | ) | [inline] |
bool SimTK::Concretize< T >::operator== | ( | const Concretize< T > & | c | ) | const [inline] |
bool SimTK::Concretize< T >::operator!= | ( | const Concretize< T > & | c | ) | const [inline] |
const T* SimTK::Concretize< T >::operator-> | ( | ) | const [inline] |
T* SimTK::Concretize< T >::operator-> | ( | ) | [inline] |
SimTK::Concretize< T >::operator const T & | ( | ) | const [inline] |
implicit conversions
SimTK::Concretize< T >::operator T & | ( | ) | [inline] |
T& SimTK::Concretize< T >::updRef | ( | ) | [inline] |
const T& SimTK::Concretize< T >::getRef | ( | ) | const [inline] |
bool SimTK::Concretize< T >::isEmpty | ( | ) | const [inline] |
void SimTK::Concretize< T >::clear | ( | ) | [inline] |
T* SimTK::Concretize< T >::extract | ( | ) | [inline] |
void SimTK::Concretize< T >::replace | ( | T * | tp | ) | [inline] |
void SimTK::Concretize< T >::replace | ( | T ** | tpp | ) | [inline] |