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

Сообщение Re: константа и не константа одновременно(почти) от 08.05.2015 8:49

Изменено 08.05.2015 8:50 niXman

и так, с чего все происходит:
есть такая функция:
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}
      );
   }
};
Re: константа и не константа одновременно(почти)
и так, с чего все исходит:
есть такая функция:
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}
      );
   }
};