00001 /* 00002 * Copyright (c) 1998, University of Amsterdam, The Netherlands. 00003 * All rights reserved. 00004 * 00005 * 00006 * Author(s): 00007 * Dennis Koelma (koelma@wins.uva.nl) 00008 * Edo Poll (poll@wins.uva.nl) 00009 */ 00010 00011 #ifndef HxRegValue_h 00012 #define HxRegValue_h 00013 00014 #include "HxIoFwd.h" 00015 #include "HxString.h" 00016 #include "HxRegData.h" 00017 00018 00021 class L_HXBASIS HxRegValue 00022 { 00023 public: 00025 HxRegValue(); 00027 HxRegValue(HxString name, const HxRegData& data); 00028 00030 ~HxRegValue(); 00031 00033 HxString getName() const; 00035 HxRegData getData() const; 00037 void setData(const HxRegData& data); 00038 00040 int operator<(const HxRegValue& rhs) const; 00041 00043 STD_OSTREAM& put(STD_OSTREAM&, int cCode = 0) const; 00044 00045 private: 00046 #pragma warning (disable : 4251) 00047 HxString _name; 00048 HxRegData _data; 00049 #pragma warning (default : 4251) 00050 }; 00051 00052 inline 00053 HxRegValue::HxRegValue() : _data(0) 00054 { 00055 } 00056 00057 inline 00058 HxRegValue::HxRegValue(HxString name, const HxRegData& data) 00059 : _name(name), _data(data) 00060 { 00061 } 00062 00063 inline 00064 HxRegValue::~HxRegValue() 00065 { 00066 } 00067 00068 inline HxString 00069 HxRegValue::getName() const 00070 { 00071 return _name; 00072 } 00073 00074 inline HxRegData 00075 HxRegValue::getData() const 00076 { 00077 return _data; 00078 } 00079 00080 inline void 00081 HxRegValue::setData(const HxRegData& data) 00082 { 00083 _data = data; 00084 } 00085 00086 inline int 00087 HxRegValue::operator<(const HxRegValue& rhs) const 00088 { 00089 return _name < rhs._name; 00090 } 00091 00092 #endif