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
44 ar( make_size_tag(
static_cast<size_type>(vector.size()) ) );
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
55 ar( make_size_tag( vectorSize ) );
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
67 ar( make_size_tag(
static_cast<size_type>(vector.size()) ) );
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
79 ar( make_size_tag( size ) );
81 vector.resize(
static_cast<std::size_t
>( size ) );
82 for(
auto && v : vector)
87 template <
class Archive,
class A>
inline
90 ar( make_size_tag(
static_cast<size_type>(vector.size()) ) );
91 for(
const auto v : vector)
92 ar(
static_cast<bool>(v) );
96 template <
class Archive,
class A>
inline
100 ar( make_size_tag( size ) );
102 vector.resize(
static_cast<std::size_t
>( size ) );
103 for(
auto && v : vector)
Main cereal functionality.
type
The type the bitset is encoded with.
Definition: bitset.hpp:44
in certain simple scenarios. They should probably not be used if maximizing performance is the main o...
Definition: access.hpp:42
std::enable_if< std::is_arithmetic< T >::value, void >::type CEREAL_LOAD_FUNCTION_NAME(BinaryInputArchive &ar, T &t)
Loading for POD types from binary.
Definition: binary.hpp:126
std::enable_if< std::is_arithmetic< T >::value, void >::type CEREAL_SAVE_FUNCTION_NAME(BinaryOutputArchive &ar, T const &t)
Saving for POD types to binary.
Definition: binary.hpp:118
CEREAL_SIZE_TYPE size_type
The size type used by cereal.
Definition: helpers.hpp:61
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1282