Информация об изменениях

Сообщение Re[2]: сопоставление сигнатур от 30.10.2017 9:56

Изменено 30.10.2017 9:59 niXman

Re[2]: сопоставление сигнатур
Здравствуйте, 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_format1<typename std::decay<Args>::type...>() // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
       & std::make_tuple(std::forward<Args>(args)...)
    ;
    return os.get_shared_buffer();
}


сейчас в проекте около 300 АПИшек, из них ~120 публичных, остальные для общения сервисов между собой. координально что-то изменять ооочень не хочется...
Re[2]: сопоставление сигнатур
Здравствуйте, 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 публичных, остальные для общения сервисов между собой. координально что-то изменять ооочень не хочется...