Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** serializes SGObject parameters to Archive with Cereal
- *
- * @param ar Archive
- */
- template <class Archive>
- void cereal_save(Archive& ar) const
- {
- ar(m_generic, m_hash);
- const std::set<std::string> parameter_names = this->parameter_names();
- ar(parameter_names.size());
- for (const auto& name: parameter_names)
- {
- BaseTag tag(name);
- AnyParameter parameter = this->get_parameter(tag);
- ar(name, parameter);
- }
- }
- /** loads SGObject parameters from Archive with Cereal
- *
- * @param ar Archive
- */
- template <class Archive>
- void cereal_load(Archive& ar)
- {
- ar(m_generic, m_hash);
- size_t num_tags;
- ar(num_tags);
- for (auto i = 0; i < num_tags; ++i)
- {
- std::string name;
- AnyParameter parameter;
- ar(name, parameter);
- BaseTag tag(name);
- this->create_parameter(tag, parameter);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement