11 #ifndef baseHlaClass_H_
12 #define baseHlaClass_H_
22 template <
typename ValueType>
23 class DtBaseHlaClass :
virtual public DtBaseHlaValue
26 typedef std::vector<ValueType> ValueVector;
27 typedef typename ValueVector::iterator iterator;
28 typedef typename ValueVector::const_iterator const_iterator;
33 DtBaseHlaClass(
const DtString& name,DtBaseHlaClass<ValueType>* baseClass,
34 DtLgrHlaHandle handle);
37 DtBaseHlaClass(
const DtString& name,
const DtString& baseClassName,
38 DtLgrHlaHandle handle);
43 DtBaseHlaClass(
const DtBaseHlaClass<ValueType>& src);
48 DtBaseHlaClass<ValueType>& operator=(
const DtBaseHlaClass<ValueType>& src);
51 virtual ~DtBaseHlaClass();
54 inline const DtString& baseName()
const;
57 DtString simpleName()
const;
60 inline const char* baseName2print()
const;
65 void setBaseNameOnly(
const DtString& name0);
70 DtBaseHlaClass<ValueType>* baseClass();
71 const DtBaseHlaClass<ValueType>* baseClass()
const;
77 void setBaseClass(DtBaseHlaClass<ValueType>* baseClass);
81 bool isOfClass( DtLgrHlaHandle handle )
const;
85 bool isOfClass(
const DtString& name )
const;
88 bool isOfClass(
const DtBaseHlaClass& baseClass)
const;
92 void addValue(
const ValueType& value);
100 int valueCount(
bool thisClassOnly)
const;
106 int minHandle(
bool thisClassOnly)
const;
112 int maxHandle(
bool thisClassOnly)
const;
118 const_iterator begin()
const;
124 const_iterator end()
const;
133 ValueType* findValueByName(
const DtString& name,
bool thisClassOnly);
134 const ValueType* findValueByName(
const DtString& name,
bool thisClassOnly)
const;
142 ValueType* findValueByHandle(DtLgrHlaHandle handle,
bool thisClassOnly);
143 const ValueType* findValueByHandle(DtLgrHlaHandle handle,
bool thisClassOnly)
const;
148 DtBaseHlaClass<ValueType>* myBaseClass;
149 ValueVector myValues;
154 #define baseHlaClass_INC_
155 #include "baseHlaClass.inl"
156 #undef baseHlaClass_INC_