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> 
  165 BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(
co::DataIStreamArchive)
 
  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.