Go to the documentation of this file.00001 #ifndef Fireworks_Core_FWItemValueGetter_h
00002 #define Fireworks_Core_FWItemValueGetter_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022
00023 #include <string>
00024 #include <vector>
00025 #include "Reflex/Member.h"
00026 #include "Reflex/Type.h"
00027
00028
00029
00030
00031 class FWItemValueGetter {
00032
00033 public:
00034 FWItemValueGetter(const ROOT::Reflex::Type&,
00035 const std::vector<std::pair<std::string, std::string> >& iFindValueFrom);
00036
00037
00038
00039 double valueFor(const void*) const;
00040 const std::string& stringValueFor(const void*) const;
00041
00042 bool isValid() const;
00043
00044 std::string valueName() const;
00045 const std::string& unit() const;
00046
00047
00048
00049 void setValueAndUnit(const std::string& iValue, const std::string& iUnit);
00050
00051 private:
00052
00053
00054
00055
00056
00057 ROOT::Reflex::Type m_type;
00058 ROOT::Reflex::Member m_memberFunction;
00059 std::string m_unit;
00060 };
00061
00062
00063 #endif