00001
00002
00003
00004
00005
00006
00007
00008 #ifndef incREFLECT_MEMBER_VISITOR
00009 #define incREFLECT_MEMBER_VISITOR
00010
00011
00012 #include <string>
00013 #include "../common/object.hpp"
00014 #include "../common/visitable_object.hpp"
00015 #include "config.hpp"
00016
00017 namespace ph {
00018 namespace reflect {
00019
00020 class REFLECT_DECL set_member_visitor : public ph::common::member_visitor
00021
00022
00023
00024 {
00025 private:
00026 std::string _name;
00027 std::string _value;
00028 bool _found;
00029
00030 public:
00031 set_member_visitor(const std::string &name, const std::string &value) :
00032 _name(name), _value(value), _found(false)
00033 {};
00034
00035 bool found() { return _found; }
00036
00037
00038 virtual bool visit(ph::common::object_base *obj,
00039 const std::string &name, ph::common::member_base *member);
00040 };
00041
00042 };
00043 };
00044
00045 #endif // incREFLECT_MEMBER_VISITOR