Здравствуйте, kov_serg, Вы писали:
_>Может стоит подойти с другой стороны и иметь формат сериализуемой структуры. И по этому формату генерировать код сереализаци, десериализации, справку и проверку валидности и полноты данных? serialize_using(PUBLIC_FORMAT_1).store('a',3,4ull);
так я это и пытаюсь сделать:
template<typename... Args>
yas::shared_buffer func(Args&&... args) {
yas::mem_ostream os;
yas::binary_oarchive<yas::mem_ostream, yas::binary> oa(os);
oa & make_public_format<typename std::decay<Args>::type...>() // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
& std::make_tuple(std::forward<Args>(args)...)
;
return os.get_shared_buffer();
}
сейчас в проекте около 300 АПИшек, из них ~120 публичных, остальные для общения сервисов между собой. координально что-то изменять ооочень не хочется...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)