Serialization STL extensions
Overview
// typedefs typedef std::is_same<typename T::value_type, std::pair<const typename T::key_type, typename T::mapped_type>> mrpt::serialization::is_map_like; typedef std::is_same<T, typename std::map<typename T::key_type, typename T::mapped_type, typename T::key_compare, typename T::allocator_type>> mrpt::serialization::is_map; typedef std::is_same<T, typename std::multimap<typename T::key_type, typename T::mapped_type, typename T::key_compare, typename T::allocator_type>> mrpt::serialization::is_multimap; // structs struct mrpt::serialization::metaprogramming::ObjectReadFromStream; template <typename ptr_t> struct mrpt::serialization::metaprogramming::ObjectReadFromStreamToPtrs; struct mrpt::serialization::metaprogramming::ObjectWriteToStream; // global functions template <typename KEY, typename VALUE> CArchive& mrpt::serialization::operator << (CArchive& out, const mrpt::containers::bimap<KEY, VALUE>& obj); template <typename KEY, typename VALUE> CArchive& mrpt::serialization::operator >> (CArchive& in, mrpt::containers::bimap<KEY, VALUE>& obj); template <typename T, std::enable_if_t<is_simple_type<T>::value, int> = 0> CArchive& mrpt::serialization::operator << ( CArchive& out, const T& a ); template <typename T, std::enable_if_t<is_simple_type<T>::value, int> = 0> CArchive& mrpt::serialization::operator >> ( CArchive& in, T& a ); template <class T> CArchive& mrpt::serialization::operator << (CArchive& out, const std::optional<T>& obj); template <class T> CArchive& mrpt::serialization::operator >> (CArchive& in, std::optional<T>& obj); template <typename T, std::enable_if_t<is_map<T>::value, int> = 0> std::string mrpt::serialization::containerName(); template <class T, size_t N> CArchive& mrpt::serialization::operator << (CArchive& out, const std::array<T, N>& obj); template <class T, size_t N> CArchive& mrpt::serialization::operator >> (CArchive& in, std::array<T, N>& obj); template <class T1, class T2> CArchive& mrpt::serialization::operator << (CArchive& out, const std::pair<T1, T2>& obj); template <class T1, class T2> CArchive& mrpt::serialization::operator >> (CArchive& in, std::pair<T1, T2>& obj);
Global Functions
template <typename KEY, typename VALUE> CArchive& mrpt::serialization::operator << ( CArchive& out, const mrpt::containers::bimap<KEY, VALUE>& obj )
Template method to serialize an associative STL container
template <typename KEY, typename VALUE> CArchive& mrpt::serialization::operator >> ( CArchive& in, mrpt::containers::bimap<KEY, VALUE>& obj )
Template method to deserialize an associative STL container.
template <typename T, std::enable_if_t<is_simple_type<T>::value, int> = 0> CArchive& mrpt::serialization::operator << ( CArchive& out, const T& a )
Template method to serialize an associative STL container
template <typename T, std::enable_if_t<is_simple_type<T>::value, int> = 0> CArchive& mrpt::serialization::operator >> ( CArchive& in, T& a )
Template method to deserialize an associative STL container.
template <class T> CArchive& mrpt::serialization::operator << ( CArchive& out, const std::optional<T>& obj )
Template to serialize a std::optional<T>
template <class T> CArchive& mrpt::serialization::operator >> ( CArchive& in, std::optional<T>& obj )
Template to deserialize a std::optional<T>
template <class T, size_t N> CArchive& mrpt::serialization::operator << ( CArchive& out, const std::array<T, N>& obj )
Template method to serialize a std::array<T,N>
template <class T, size_t N> CArchive& mrpt::serialization::operator >> ( CArchive& in, std::array<T, N>& obj )
Template method to deserialize a std::array<T,N>
template <class T1, class T2> CArchive& mrpt::serialization::operator << ( CArchive& out, const std::pair<T1, T2>& obj )
Template method to serialize a STL pair.
template <class T1, class T2> CArchive& mrpt::serialization::operator >> ( CArchive& in, std::pair<T1, T2>& obj )
Template method to deserialize a STL pair.