Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Class packed_oarchive

boost::mpi::packed_oarchive — An archive that unpacks binary data from an MPI buffer.

Synopsis

// In header: <boost/mpi/packed_oarchive.hpp>


class packed_oarchive {
public:
  // construct/copy/destruct
  packed_oarchive(MPI_Comm const &, buffer_type &, 
                  unsigned int = boost::archive::no_header);
  packed_oarchive(MPI_Comm const &, unsigned int = boost::archive::no_header);

  // public member functions
  template<typename T> void save_override(T const &, int, mpl::false_);
  template<typename T> void save_override(T const &, int, mpl::true_);
  template<typename T> void save_override(T const &, int);
  void save_override(const archive::class_id_optional_type &, int);
  void save_override(const archive::class_name_type &, int);
};

Description

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_oarchive public construct/copy/destruct

  1. packed_oarchive(MPI_Comm const & comm, buffer_type & b, 
                    unsigned int flags = boost::archive::no_header);

    Construct a packed_oarchive to receive data over the given MPI communicator and with an initial buffer.

    Parameters:

    b

    A user-defined buffer that contains the binary representation of serialized objects.

    comm

    The communicator over which this archive will be received.

    flags

    Control the serialization of the data types. Refer to the Boost.Serialization documentation before changing the default flags.

  2. packed_oarchive(MPI_Comm const & comm, 
                    unsigned int flags = boost::archive::no_header);

    Construct a packed_oarchive to receive data over the given MPI communicator.

    Parameters:

    comm

    The communicator over which this archive will be received.

    flags

    Control the serialization of the data types. Refer to the Boost.Serialization documentation before changing the default flags.

packed_oarchive public member functions

  1. template<typename T> void save_override(T const & x, int version, mpl::false_);
  2. template<typename T> void save_override(T const & x, int, mpl::true_);
  3. template<typename T> void save_override(T const & x, int version);
  4. void save_override(const archive::class_id_optional_type &, int);
  5. void save_override(const archive::class_name_type & t, int);

PrevUpHomeNext