#ifndef AGDDBASEHH #define AGDDBASEHH namespace agdd { class Base; } #include #include "ExpatInterface/Element.h" namespace agdd { class Base { public: // LESTER Sort permissions out later virtual void putMeIn(xml::Element & elt) = 0; public: virtual ~Base() { /*JJ for (unsigned int i=0; i<_ownedBases.size(); i++) { //cout << "Deleting owned base "< _ownedBases; public: string getTagName() const ; Base & setTagName(const string & s) ; protected: Base() ; Base(const string & tagName) ; public: /* static const string makeNumberString(const double x) ; static const string makeNumberString(const double x, const double y) ; static const string makeNumberString(const double x, const double y, const double z) ; static const string makeNumberString(const double a, const double b, const double c, const double d) ; static const string makeNumberString(const double a, const double b, const double c, const double d, const double e) ; */ // The following is new redundant. // Provided sct_geo.hh is tidied up, it can come out. template T & adopt(T * ptr) { assert(ptr); //JJ _ownedBases.push_back(ptr); return *ptr; }; }; } #endif