Go to the documentation of this file.00001
00002
00003
00004
00005
00009
00010 #if DtHLA
00011 #ifndef baseHlaClass_H_
00012 #define baseHlaClass_H_
00013
00014 #include "baseHlaValue.h"
00015 #include <vector>
00016
00017 namespace MAKLogger
00018 {
00019
00022 template <typename ValueType>
00023 class DtBaseHlaClass : virtual public DtBaseHlaValue
00024 {
00025 public:
00026 typedef std::vector<ValueType> ValueVector;
00027 typedef typename ValueVector::iterator iterator;
00028 typedef typename ValueVector::const_iterator const_iterator;
00029
00030 public:
00031
00033 DtBaseHlaClass(const DtString& name,DtBaseHlaClass<ValueType>* baseClass,
00034 DtLgrHlaHandle handle);
00035
00037 DtBaseHlaClass(const DtString& name,const DtString& baseClassName,
00038 DtLgrHlaHandle handle);
00039
00043 DtBaseHlaClass(const DtBaseHlaClass<ValueType>& src);
00044
00048 DtBaseHlaClass<ValueType>& operator=(const DtBaseHlaClass<ValueType>& src);
00049
00051 virtual ~DtBaseHlaClass();
00052
00054 inline const DtString& baseName() const;
00055
00057 DtString simpleName() const;
00058
00060 inline const char* baseName2print() const;
00061
00065 void setBaseNameOnly(const DtString& name0);
00066
00068
00069
00070 DtBaseHlaClass<ValueType>* baseClass();
00071 const DtBaseHlaClass<ValueType>* baseClass() const;
00073
00077 void setBaseClass(DtBaseHlaClass<ValueType>* baseClass);
00078
00081 bool isOfClass( DtLgrHlaHandle handle ) const;
00082
00085 bool isOfClass( const DtString& name ) const;
00086
00088 bool isOfClass( const DtBaseHlaClass& baseClass) const;
00089
00092 void addValue(const ValueType& value);
00093
00095 void clearValues();
00096
00100 int valueCount(bool thisClassOnly) const;
00101
00106 int minHandle(bool thisClassOnly) const;
00107
00112 int maxHandle(bool thisClassOnly) const;
00113
00114
00116
00117 iterator begin();
00118 const_iterator begin() const;
00120
00122
00123 iterator end();
00124 const_iterator end() const;
00126
00127
00129
00130
00131
00132
00133 ValueType* findValueByName(const DtString& name,bool thisClassOnly);
00134 const ValueType* findValueByName(const DtString& name,bool thisClassOnly) const;
00136
00138
00139
00140
00141
00142 ValueType* findValueByHandle(DtLgrHlaHandle handle,bool thisClassOnly);
00143 const ValueType* findValueByHandle(DtLgrHlaHandle handle,bool thisClassOnly) const;
00145
00146 private:
00147 DtString myBaseName;
00148 DtBaseHlaClass<ValueType>* myBaseClass;
00149 ValueVector myValues;
00150 };
00151
00152 }
00153
00154 #define baseHlaClass_INC_
00155 #include "baseHlaClass.inl"
00156 #undef baseHlaClass_INC_
00157
00158 #endif
00159 #endif