00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxTagTem_h
00012 #define HxTagTem_h
00013
00014 #include "HxTag.h"
00015
00016 #include "HxStd.h"
00017 #include "HxIoFwd.h"
00018
00019
00022 template <class ValT>
00023 class HxTagTem: public HxTag {
00024 public:
00026 HxTagTem(HxString name, ValT v);
00027
00029 virtual ~HxTagTem();
00030
00032 virtual HxTag* clone() const;
00033
00035 ValT getValue() const {return _value;}
00036
00038 virtual STD_OSTREAM& put(STD_OSTREAM&) const;
00039
00040 protected:
00042 HxTagTem(const HxTagTem& rhs);
00043 private:
00044 HxTagTem() {}
00045 ValT _value;
00046 };
00047
00048 template <class ValT>
00049 inline
00050 HxTagTem<ValT>::HxTagTem(HxString name, ValT v)
00051 : HxTag(name), _value(v)
00052 {
00053 }
00054
00055 template <class ValT>
00056 inline
00057 HxTagTem<ValT>::HxTagTem(const HxTagTem& rhs)
00058 : HxTag(rhs), _value(rhs._value)
00059 {
00060 }
00061
00062
00063 #ifdef INC_TEMPLATE_SRC
00064 #include "HxTagTem.c"
00065 #endif
00066
00067 #endif
00068
00069
00070
00071