29 #ifndef CO_DATAOSTREAMARCHIVE_H 30 #define CO_DATAOSTREAMARCHIVE_H 33 #include <co/dataOStream.h> 34 #include <co/dataStreamArchiveException.h> 36 #include <boost/version.hpp> 38 #include <boost/archive/basic_binary_oarchive.hpp> 39 #include <boost/archive/detail/register_archive.hpp> 40 #include <boost/serialization/is_bitwise_serializable.hpp> 41 #if BOOST_VERSION >= 104400 42 # include <boost/serialization/item_version_type.hpp> 45 #include <boost/spirit/home/support/detail/endian.hpp> 46 #include <boost/spirit/home/support/detail/math/fpclassify.hpp> 48 #include <boost/type_traits/is_integral.hpp> 49 #include <boost/type_traits/is_signed.hpp> 50 #include <boost/type_traits/is_floating_point.hpp> 58 :
public boost::archive::basic_binary_oarchive< DataOStreamArchive >
60 typedef boost::archive::basic_binary_oarchive< DataOStreamArchive > Super;
67 CO_API
void save_binary(
const void* data, std::size_t size );
70 template<
typename T >
71 void save_array(
const boost::serialization::array< T >& a,
unsigned int );
78 :
public boost::serialization::is_bitwise_serializable< T > {};
82 friend class boost::archive::save_access;
90 CO_API
void save(
bool b );
93 template<
class C,
class T,
class A >
94 void save(
const std::basic_string< C, T, A >& s );
103 template<
typename T >
104 typename boost::enable_if< boost::is_integral<T> >::type save(
const T& t );
133 template<
typename T >
134 typename boost::enable_if< boost::is_floating_point<T> >::type
137 #if BOOST_VERSION >= 104400 140 CO_API
void save(
const boost::archive::library_version_type& version );
141 CO_API
void save(
const boost::archive::class_id_type& class_id );
142 CO_API
void save(
const boost::serialization::item_version_type& class_id );
144 void save(
const boost::serialization::collection_size_type& class_id );
145 CO_API
void save(
const boost::archive::object_id_type& object_id );
146 CO_API
void save(
const boost::archive::version_type& version );
149 CO_API
void _saveSignedChar(
const signed char& c );
154 #include "dataOStreamArchive.ipp" 161 #endif //CO_DATAOSTREAMARCHIVE_H Defines export visibility macros for library Collage.
A boost.serialization output archive writing to a co::DataOStream.
CO_API DataOStreamArchive(DataOStream &stream)
Construct a new serialization archive.
A std::ostream-like interface for object serialization.
Object-oriented network library.