29 #ifndef CO_DATAISTREAMARCHIVE_H 30 #define CO_DATAISTREAMARCHIVE_H 35 #include <boost/version.hpp> 36 #pragma warning( push ) 37 #pragma warning( disable: 4800 ) 38 #include <boost/archive/basic_binary_iarchive.hpp> 39 #pragma warning( pop ) 40 #include <boost/archive/detail/register_archive.hpp> 41 #if BOOST_VERSION < 105600 42 # include <boost/archive/shared_ptr_helper.hpp> 44 #include <boost/serialization/is_bitwise_serializable.hpp> 46 #include <boost/spirit/home/support/detail/endian.hpp> 47 #include <boost/spirit/home/support/detail/math/fpclassify.hpp> 49 #include <boost/type_traits/is_integral.hpp> 50 #include <boost/type_traits/is_unsigned.hpp> 51 #include <boost/type_traits/is_floating_point.hpp> 53 #include <boost/utility/enable_if.hpp> 59 :
public boost::archive::basic_binary_iarchive< DataIStreamArchive >
60 #if BOOST_VERSION < 105600 61 ,
public boost::archive::detail::shared_ptr_helper
64 typedef boost::archive::basic_binary_iarchive< DataIStreamArchive > Super;
71 CO_API
void load_binary(
void* data, std::size_t size );
74 template<
typename T >
75 void load_array( boost::serialization::array< T >& a,
unsigned int );
82 :
public boost::serialization::is_bitwise_serializable< T > {};
86 friend class boost::archive::load_access;
95 CO_API
void load(
bool& b );
98 template<
class C,
class T,
class A >
99 void load( std::basic_string< C, T, A >& s );
108 template<
typename T >
109 typename boost::enable_if< boost::is_integral<T> >::type load( T& t );
138 template<
typename T >
139 typename boost::enable_if< boost::is_floating_point<T> >::type load( T& t );
141 #if BOOST_VERSION >= 104400 144 CO_API
void load( boost::archive::library_version_type& version );
145 CO_API
void load( boost::archive::class_id_type& class_id );
146 CO_API
void load( boost::serialization::item_version_type& version );
147 CO_API
void load( boost::serialization::collection_size_type& version );
148 CO_API
void load( boost::archive::object_id_type& object_id );
149 CO_API
void load( boost::archive::version_type& version );
152 CO_API
signed char _loadSignedChar();
159 #include "dataIStreamArchive.ipp" 162 #include <boost/archive/impl/basic_binary_iarchive.ipp> 167 #endif //CO_DATAISTREAMARCHIVE_H A boost.serialization input archive reading from a co::DataIStream.
Defines export visibility macros for library Collage.
Object-oriented network library.
A std::istream-like input data stream for binary data.
CO_API DataIStreamArchive(DataIStream &stream)
Construct a new deserialization archive.