30 #ifndef CEREAL_TYPES_STRING_HPP_
31 #define CEREAL_TYPES_STRING_HPP_
39 template<
class Archive,
class CharT,
class Traits,
class Alloc>
inline
40 typename std::enable_if<traits::is_output_serializable<BinaryData<CharT>, Archive>::value,
void>::type
44 ar( make_size_tag(
static_cast<size_type>(str.size()) ) );
45 ar( binary_data( str.data(), str.size() *
sizeof(CharT) ) );
49 template<
class Archive,
class CharT,
class Traits,
class Alloc>
inline
50 typename std::enable_if<traits::is_input_serializable<BinaryData<CharT>, Archive>::value,
void>::type
54 ar( make_size_tag( size ) );
55 str.resize(
static_cast<std::size_t
>(size));
56 ar( binary_data(
const_cast<CharT *
>( str.data() ),
static_cast<std::size_t
>(size) *
sizeof(CharT) ) );
60 #endif // CEREAL_TYPES_STRING_HPP_