32 #ifndef CEREAL_TYPES_VALARRAY_HPP_
33 #define CEREAL_TYPES_VALARRAY_HPP_
41 template <
class Archive,
class T>
inline
42 typename std::enable_if<traits::is_output_serializable<BinaryData<T>, Archive>::value
46 ar( make_size_tag(
static_cast<size_type>(valarray.size()) ) );
47 ar( binary_data( &valarray[0], valarray.size() *
sizeof(T) ) );
51 template <
class Archive,
class T>
inline
52 typename std::enable_if<traits::is_input_serializable<BinaryData<T>, Archive>::value
57 ar( make_size_tag( valarraySize ) );
59 valarray.resize(
static_cast<std::size_t
>( valarraySize ) );
60 ar( binary_data( &valarray[0],
static_cast<std::size_t
>( valarraySize ) *
sizeof(T) ) );
64 template <
class Archive,
class T>
inline
65 typename std::enable_if<!traits::is_output_serializable<BinaryData<T>, Archive>::value
69 ar( make_size_tag(
static_cast<size_type>(valarray.size()) ) );
70 for(
auto && v : valarray)
75 template <
class Archive,
class T>
inline
76 typename std::enable_if<!traits::is_input_serializable<BinaryData<T>, Archive>::value
81 ar( make_size_tag( valarraySize ) );
83 valarray.resize(
static_cast<size_t>( valarraySize ) );
84 for(
auto && v : valarray)
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