11 #include <classdesc.h> 24 virtual Type type()
const=0;
26 #if defined(__cplusplus) && __cplusplus>=201103L 27 typedef std::unique_ptr<PolyBase> AutoPtr;
29 typedef std::auto_ptr<PolyBase> AutoPtr;
36 U* t=
dynamic_cast<U*
>(p.get());
78 template <
class T,
class Base>
79 struct Poly:
virtual public Base
82 Poly*
clone()
const {
return new T(*static_cast<const T*>(
this));}
99 #include "polyBase.cd" Poly * clone() const
clone has to return a Poly* to satisfy covariance
Definition: polyBase.h:82
U * cloneT() const
Definition: polyBase.h:34
Definition: polyBase.h:79
Definition: polyBase.h:17
base class for polymorphic types. T is a type enumerator class
Definition: polyBase.h:21
Contains definitions related to classdesc functionality.
Definition: arrays.h:2514