. , :
template<typename ObjT, typename MemberT, MemberT ObjT::*Ptr>
struct member{};
mpl::vector
<
member<Object, string, &Object::a>,
member<Object, int, &Object::b>,
member<Object, long, &Object::c>,
member<Object, char, &Object::d>
>;
, member, operator>> member, member_vec operator>> member_vec, member_vec. ,
, :
auto serializer =
mem(&Object::a) >>
mem(&Object::b) >>
mem(&Object::c) >>
mem(&Object::d);
, . - , .