C ++ 11 Cereal Serialization - управление версиями - PullRequest
0 голосов
/ 27 мая 2020

Я успешно сериализовал двух членов своего класса.

    archive(
        cereal::make_nvp("width", m_width),
        cereal::make_nvp("height", m_height),
    );

Теперь, в более поздней версии мой код содержит больше членов, и я хотел бы их заархивировать:

    archive(
        cereal::make_nvp("width", m_width),
        cereal::make_nvp("height", m_height),
        cereal::make_nvp("lambda0", m_lambda0),
        cereal::make_nvp("phi1", m_phi1)
    );

Однако это дает сбой, так как новых участников нет в старых архивах. Насколько я знаю, невозможно определить значения по умолчанию для этих переменных в make_nvp.

Но наверняка должно быть какое-то управление версиями, чтобы можно было решить эту проблему по умолчанию? Может ли кто-нибудь указать мне на документацию этого или даже лучше на какой-то образец кода? Ничего не могу найти на официальном сайте . (Но скорее всего я просто слепой ..)

1 Ответ

0 голосов
/ 29 мая 2020

Для справки в будущем - здесь описано, как создавать версию:

https://uscilab.github.io/cereal/serialization_functions.html#versioning

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...