classdesc::poly< T, TT > Class Template Reference

#include <poly.h>

Collaboration diagram for classdesc::poly< T, TT >:
Collaboration graph

Public Member Functions

 poly (const poly &x)
 
 poly (const T &x)
 
polyoperator= (const poly &x)
 
polyoperator= (const T &x)
 
T * operator-> ()
 
T & operator* ()
 
const T * operator-> () const
 
const T & operator* () const
 
void swap (poly &x)
 
bool operator== (const poly &x) const
 
bool operator!= (const poly &x) const
 
 operator bool () const
 
template<class U >
poly addObject ()
 Target object initialisation. More...
 
template<class U , class A >
poly addObject (A x)
 
template<class U , class A1 , class A2 >
poly addObject (A1 x1, A2 x2)
 
template<class U >
U & cast ()
 cast target to type U. Thows std::bad_cast if impossible.
 
template<class U >
const U & cast () const
 

Public Attributes

TT TypeTable
 

Detailed Description

template<class T = Eobject, class TT = SimpleTypeTable<T>>
class classdesc::poly< T, TT >

polymorphic smart pointer class - copies are deep

Member Function Documentation

◆ addObject()

template<class T = Eobject, class TT = SimpleTypeTable<T>>
template<class U >
poly classdesc::poly< T, TT >::addObject ( )
inline

Target object initialisation.

Initialise target object to type U. 0, 1 and 2 argument constructors available. Use 1 arg constructor and copy construction for arbitrary initialisaton.

Referenced by ecolab::GraphAdaptor< ecolab::DiGraph >::begin(), and ecolab::GraphAdaptor< ecolab::DiGraph >::end().


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