30#ifndef CEREAL_TYPES_VECTOR_HPP_
31#define CEREAL_TYPES_VECTOR_HPP_
39 template <
class Archive,
class T,
class A>
inline
40 typename std::enable_if<traits::is_output_serializable<BinaryData<T>, Archive>::value
41 && std::is_arithmetic<T>::value && !std::is_same<T, bool>::value,
void>::type
45 ar(
binary_data( vector.data(), vector.size() *
sizeof(T) ) );
49 template <
class Archive,
class T,
class A>
inline
50 typename std::enable_if<traits::is_input_serializable<BinaryData<T>, Archive>::value
51 && std::is_arithmetic<T>::value && !std::is_same<T, bool>::value,
void>::type
57 vector.resize(
static_cast<std::size_t
>( vectorSize ) );
58 ar(
binary_data( vector.data(),
static_cast<std::size_t
>( vectorSize ) *
sizeof(T) ) );
62 template <
class Archive,
class T,
class A>
inline
63 typename std::enable_if<(!traits::is_output_serializable<BinaryData<T>, Archive>::value
64 || !std::is_arithmetic<T>::value) && !std::is_same<T, bool>::value,
void>::type
68 for(
auto && v : vector)
73 template <
class Archive,
class T,
class A>
inline
74 typename std::enable_if<(!traits::is_input_serializable<BinaryData<T>, Archive>::value
75 || !std::is_arithmetic<T>::value) && !std::is_same<T, bool>::value,
void>::type
81 vector.resize(
static_cast<std::size_t
>( size ) );
82 for(
auto && v : vector)
87 template <
class Archive,
class A>
inline
91 for(
const auto v : vector)
92 ar(
static_cast<bool>(v) );
96 template <
class Archive,
class A>
inline
102 vector.resize(
static_cast<std::size_t
>( size ) );
103 for(
auto && v : vector)
Main cereal functionality.
SizeTag< T > make_size_tag(T &&sz)
Creates a size tag from some variable.
Definition cereal.hpp:96
BinaryData< T > binary_data(T &&data, size_t size)
Convenience function to create binary data for both const and non const pointers.
Definition cereal.hpp:81
CEREAL_SIZE_TYPE size_type
The size type used by cereal.
Definition helpers.hpp:61
#define CEREAL_LOAD_FUNCTION_NAME
The deserialization (load) function name to search for.
Definition macros.hpp:85
#define CEREAL_SAVE_FUNCTION_NAME
The serialization (save) function name to search for.
Definition macros.hpp:92