Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:40:57

0001 // (C) Copyright 2005 Matthias Troyer 
0002 
0003 // Use, modification and distribution is subject to the Boost Software
0004 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0005 // http://www.boost.org/LICENSE_1_0.txt)
0006 
0007 //  Authors: Matthias Troyer
0008 
0009 #ifndef BOOST_MPI_TEXT_SKELETON_OARCHIVE_HPP
0010 #define BOOST_MPI_TEXT_SKELETON_OARCHIVE_HPP
0011 
0012 #include <boost/archive/detail/auto_link_archive.hpp>
0013 #include <boost/archive/text_oarchive.hpp>
0014 #include <boost/mpi/detail/forward_skeleton_oarchive.hpp>
0015 #include <boost/mpi/detail/ignore_oprimitive.hpp>
0016 #include <boost/archive/detail/register_archive.hpp>
0017 
0018 namespace boost { namespace mpi {
0019 
0020 // an archive that writes a text skeleton into a stream
0021 
0022 class text_skeleton_oarchive 
0023   : public detail::ignore_oprimitive,
0024     public detail::forward_skeleton_oarchive<text_skeleton_oarchive,boost::archive::text_oarchive>
0025 {
0026 public:
0027     text_skeleton_oarchive(std::ostream & s, unsigned int flags = 0) 
0028      : detail::forward_skeleton_oarchive<text_skeleton_oarchive,boost::archive::text_oarchive>(skeleton_archive_)
0029      , skeleton_archive_(s,flags)
0030     {}
0031 
0032 private:
0033     boost::archive::text_oarchive skeleton_archive_;
0034 };
0035 
0036 namespace detail {
0037 
0038 typedef boost::mpi::detail::forward_skeleton_oarchive<boost::mpi::text_skeleton_oarchive,boost::archive::text_oarchive> type3;
0039 
0040 }
0041 
0042 
0043 } } // end namespace boost::mpi
0044 
0045 // required by export
0046 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::text_skeleton_oarchive)
0047 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::detail::type3)
0048 
0049 
0050 #endif // BOOST_MPI_TEXT_SKELETON_OARCHIVE_HPP