...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::mpi::packed_iarchive — An archive that unpacks binary data from an MPI buffer.
// In header: <boost/mpi/packed_iarchive.hpp> class packed_iarchive : public iprimitive { public: // construct/copy/destruct packed_iarchive(MPI_Comm const &, buffer_type &, unsigned int = boost::archive::no_header, int = 0); packed_iarchive(MPI_Comm const &, std::size_t = 0, unsigned int = boost::archive::no_header); // public member functions template<typename T> void load_override(T &, mpl::false_); template<typename T> void load_override(T &, mpl::true_); template<typename T> void load_override(T &); void load_override(archive::class_id_optional_type &); void load_override(archive::class_id_type &); void load_override(archive::version_type &); void load_override(archive::class_id_reference_type &); void load_override(archive::class_name_type &); };
The packed_oarchive
class is an Archiver (as in the Boost.Serialization library) that unpacks binary data from a buffer received via MPI. It can operate on any Serializable data type and will use the MPI_Unpack
function of the underlying MPI implementation to perform deserialization.
packed_iarchive
public
construct/copy/destructpacked_iarchive(MPI_Comm const & comm, buffer_type & b, unsigned int flags = boost::archive::no_header, int position = 0);
Construct a
to receive data over the given MPI communicator and with an initial buffer.packed_iarchive
Parameters: |
|
packed_iarchive(MPI_Comm const & comm, std::size_t s = 0, unsigned int flags = boost::archive::no_header);
Construct a
to receive data over the given MPI communicator.packed_iarchive
Parameters: |
|
packed_iarchive
public member functionstemplate<typename T> void load_override(T & x, mpl::false_);
template<typename T> void load_override(T & x, mpl::true_);
template<typename T> void load_override(T & x);
void load_override(archive::class_id_optional_type &);
void load_override(archive::class_id_type & t);
void load_override(archive::version_type & t);
void load_override(archive::class_id_reference_type & t);
void load_override(archive::class_name_type & t);