Go to the source code of this file.
Classes | |
class | PointerVectorVariantWrapper< VariantTypes > |
The objective of this class is to create a wrapper for a vector of boost::variant that holds pointer. More... | |
class | PointerVectorVariantWrapper< VariantTypes > |
The objective of this class is to create a wrapper for a vector of boost::variant that holds pointer. More... | |
Namespaces | |
cereal | |
Macros | |
#define | CEREAL_VECTOR_VARIANT_POINTER(T) cereal::make_vector_pointer_variant(T) |
Cereal does not support the serialization of raw pointer. More... | |
Functions | |
template<typename... VariantTypes> | |
PointerVectorVariantWrapper< VariantTypes... > | make_vector_pointer_variant (std::vector< boost::variant< VariantTypes... >> &t) |
Serialize a std::vector of boost variants in which the variant in each boost variant is a raw pointer. More... | |
Implementation of a boost::variant wrapper to enable the serialization of the pointers inside boost variant in cereal
mlpack is free software; you may redistribute it and/or modify it under the terms of the 3-clause BSD license. You should have received a copy of the 3-clause BSD license along with mlpack. If not, see http://www.opensource.org/licenses/BSD-3-Clause for more information.
Definition in file pointer_vector_variant_wrapper.hpp.
#define CEREAL_VECTOR_VARIANT_POINTER | ( | T | ) | cereal::make_vector_pointer_variant(T) |
Cereal does not support the serialization of raw pointer.
This macro enable developers to serialize a std vector that holds boost::variants that holds raw pointers by using the above PointerVectorVariantWrapper class which replace the internal raw pointers by smart pointer internally.
T | std::vector<boost::variant> that holds raw pointer to be serialized. |
Definition at line 92 of file pointer_vector_variant_wrapper.hpp.