00001 // 00002 // Copyright (c) 2003 00003 // Paul Hamilton; pHamtec P/L 00004 // 00005 // Permission to use, copy, modify, distribute and sell this software 00006 // and its documentation for any purpose is hereby granted without fee, 00007 // provided that the above copyright notice appears in all copies and 00008 // that both the copyright notice and this permission notice appear in 00009 // supporting documentation. No representations are made about the 00010 // suitability of this software for any purpose. It is provided "as is" 00011 // without express or implied warranty. 00012 // 00013 // bar.h 00014 // 00015 // 4-Jul-2003 phamilton Created 00016 // 00017 00018 #ifndef incBAR 00019 #define incBAR 00020 00021 // forwards 00022 #include "base.hpp" 00023 00024 namespace reflect_test { 00025 00026 class bar : public base 00027 { 00028 private: 00029 int x; 00030 double y; 00031 int z; 00032 00033 public: 00034 bar(const std::string &type, const std::string &name) : 00035 base(type, name), 00036 x(0), 00037 y(0), 00038 z(0) 00039 {}; 00040 00041 // object_base overrides 00042 virtual bool accept(ph::common::member_visitor *v); 00043 virtual bool accept(ph::common::const_member_visitor *v) const; 00044 virtual bool accept(ph::common::object_visitor *v); 00045 virtual bool accept(ph::common::const_object_visitor *v) const; 00046 }; 00047 00048 }; 00049 00050 #endif // incBAR