#include "classdesc.h"
#include "p_base.h"
namespace classdesc_access {
template <> struct access_p<class ::foo > {
template <class _CD_ARG_TYPE>
void operator()(classdesc::p_t& targ, const classdesc::string& desc,_CD_ARG_TYPE& arg)
{
::p(targ,desc+".a",arg.a);
::p(targ,desc+".b",arg.b);
::p(targ,desc+".c",arg.c);
}
};
template <> struct access_p<struct ::bar > {
template <class _CD_ARG_TYPE>
void operator()(classdesc::p_t& targ, const classdesc::string& desc,_CD_ARG_TYPE& arg)
{
::p(targ,desc+".d",arg.d);
}
};
template <> struct access_p< ::bamboo > {
template <class _CD_ARG_TYPE>
void operator()(classdesc::p_t& targ, const classdesc::string& desc,_CD_ARG_TYPE& arg)
{
::p(targ,desc+".e",arg.e);
::p(targ,desc+".f",arg.f);
}
};
}
