00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_GENERIC_OM_PARAMETER_HPP
00017 #define TORC_GENERIC_OM_PARAMETER_HPP
00018
00019 #include "torc/generic/om/DumpRestoreConfig.hpp"
00020
00021
00022 #ifdef GENOM_SERIALIZATION
00023 #include <boost/serialization/access.hpp>
00024 #endif //GENOM_SERIALIZATION
00025
00026 #include "torc/generic/om/Nameable.hpp"
00027 #include "torc/generic/om/Visitable.hpp"
00028 #include "torc/generic/om/Value.hpp"
00029 #include "torc/generic/om/Unit.hpp"
00030 #include "torc/generic/om/Composite.hpp"
00031 #include "torc/generic/om/Renamable.hpp"
00032
00033 namespace torc {
00034
00035 namespace generic {
00036
00037
00038
00039
00040
00041
00042 class Parameter :
00043 public virtual Composite<Parameter>,
00044 public Nameable,
00045 public Renamable,
00046 public Visitable {
00047 #ifdef GENOM_SERIALIZATION
00048 friend class boost::serialization::access;
00049 #endif //GENOM_SERIALIZATION
00050
00051 private:
00052 Value mValue;
00053 Unit mUnit;
00054
00055 protected:
00056 Parameter();
00057
00058 public:
00059 virtual
00060 ~Parameter() throw();
00061
00062 private:
00063 #ifdef GENOM_SERIALIZATION
00064 template<class Archive> void
00065 serialize( Archive &ar, unsigned int);
00066 #endif //GENOM_SERIALIZATION
00067
00068 Parameter(const Parameter & source) throw();
00069 Parameter &
00070 operator=(const Parameter & source) throw();
00071
00072 public:
00073 inline const Value
00074 getValue() const throw();
00075
00076 void
00077 setValue(const Value & inSource) throw();
00078
00079 virtual const Unit
00080 getUnit() const throw();
00081
00082 virtual void
00083 setUnit(const Unit & inSource) throw();
00084
00085 };
00086
00087 inline const Value
00088 Parameter::getValue() const throw() {
00089 return mValue;
00090 }
00091
00092
00093 }
00094
00095 }
00096 #endif // TORC_GENERIC_OM_PARAMETER_HPP