Merge pull request #9336

04fe6fa split variant into plain and optional, add variant serialization (koe)
This commit is contained in:
luigi1111 2024-12-23 10:26:23 -05:00
commit 44fef7903c
No known key found for this signature in database
GPG key ID: F4ACA0183641E010
2 changed files with 46 additions and 0 deletions

View file

@ -43,6 +43,7 @@
#include <boost/mpl/if.hpp>
#include <boost/mpl/front.hpp>
#include <boost/mpl/pop_front.hpp>
#include "common/variant.h"
#include "serialization.h"
/*! \struct variant_serialization_triats
@ -144,3 +145,13 @@ static bool do_serialize(Archive<true> &ar, boost::variant<T...> &v)
{
return boost::apply_visitor(variant_write_visitor<Archive>(ar), v);
}
// implementation for tools::variant delegates to internal boost::variant member field
namespace tools
{
template <class Archive, typename... Ts>
bool do_serialize(Archive &ar, variant<Ts...> &v)
{
return do_serialize(ar, v.m_value);
}
}