// -*- C++ -*- // AID-GENERATED // ========================================================================= // This class was generated by AID - Abstract Interface Definition // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. // ========================================================================= #ifndef HEPREP_HEPREPTYPETREE_H #define HEPREP_HEPREPTYPETREE_H 1 // Copyright 2000-2005, FreeHEP. #include #include #include "HEPREP/HepRepTreeID.h" namespace HEPREP { class HepRepType; /** * HepRepTypeTree interface. * * @author Mark Donszelmann */ class HepRepTypeTree : virtual public HepRepTreeID { public: /// Destructor. virtual ~HepRepTypeTree() { /* nop */; } /** * Adds a type to this typetree. * * @param type to be added. */ virtual void addType(HepRepType * type) = 0; /** * Returns a collection of all types in this tree. * * @return collection of HepRepTypes. */ virtual std::vector getTypeList() = 0; /** * Returns type */ virtual HepRepType * getType(std::string fullName) = 0; /** * Returns a deep copy of this typetree. * * @return copy of this typetree. */ virtual HepRepTypeTree * copy() = 0; // // To be enable in g++ 3.0 // using HepRep::HepRepTreeID::copy; // To be disabled in g++ 3.0 // HepRepTreeID * copy(); // }; // class } // namespace HEPREP #endif /* ifndef HEPREP_HEPREPTYPETREE_H */