и так, с чего все исходит:
есть такая функция:
template<typename Archive, typename... Args>
bool apply(Archive &ar, Args&&... args) {
// тут 'Args...' - пак пар
// тут в/из 'ar' записывается/считывается 'args...'
}
используется это так:
struct user_type {
int i;
long l;
float f;
// этот макрос генерит неоходиммый код для сериализации/десериализации
YAS_SERIALIZE_ONE_MF(i, l, f);
// развернется он в нечто типа:
template<typename Archive>
void serialize(Archive &ar) {
apply(
ar
,pair<decltype(i)>{"i", i}
,pair<decltype(l)>{"l", l}
,pair<decltype(f)>{"f", f}
);
}
};
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)