baseHlaClass.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
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

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)