123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #include <boost/serialization/array.hpp>
- #ifndef BOOST_MPI_DETAIL_FORWARD_IPRIMITIVE_HPP
- #define BOOST_MPI_DETAIL_FORWARD_IPRIMITIVE_HPP
- namespace boost { namespace mpi { namespace detail {
- template <class ImplementationArchive>
- class forward_iprimitive
- {
- public:
-
- typedef ImplementationArchive implementation_archive_type;
-
- forward_iprimitive(implementation_archive_type& ar)
- : implementation_archive(ar)
- {}
-
- void load_binary(void * address, std::size_t count )
- {
- implementation_archive.load_binary(address,count);
- }
-
-
- template<class T>
- void load_array(serialization::array_wrapper<T> & x, unsigned int file_version )
- {
- implementation_archive.load_array(x,file_version);
- }
- typedef typename ImplementationArchive::use_array_optimization use_array_optimization;
- #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
- friend class archive::load_access;
- protected:
- #else
- public:
- #endif
-
- template<class T>
- void load(T & t)
- {
- implementation_archive >> t;
- }
- private:
- implementation_archive_type& implementation_archive;
- };
- } } }
- #endif
|