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 // base.cpp 00014 // 00015 // 28-Jun-2003 phamilton Created 00016 // 00017 00018 #include "base.hpp" 00019 #include "../member.hpp" 00020 00021 using namespace reflect_test; 00022 00023 bool base::accept(ph::common::member_visitor *v) 00024 { 00025 ph::reflect::pod_member<std::string> _n(&_name); 00026 if (!v->visit(this, "name", &_n)) 00027 return false; 00028 ph::reflect::pod_member<std::string> _t(&_type); 00029 if (!v->visit(this, "type", &_t)) 00030 return false; 00031 return true; 00032 } 00033 00034 bool base::accept(ph::common::const_member_visitor *v) const 00035 { 00036 ph::reflect::const_pod_member<std::string> _n(&_name); 00037 if (!v->visit(this, "name", &_n)) 00038 return false; 00039 ph::reflect::const_pod_member<std::string> _t(&_type); 00040 if (!v->visit(this, "type", &_t)) 00041 return false; 00042 return true; 00043 }