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

PrevUpHomeNext

Class packed_oarchive

boost::mpi::packed_oarchive — An archive that packs binary data into an MPI buffer.

Synopsis

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


class packed_oarchive : public oprimitive, public shared_ptr_helper {
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);
  void save_override(archive::class_id_type &, int);
};

Description

The packed_iarchive class is an Archiver (as in the Boost.Serialization library) that packs binary data into a buffer for transmission via MPI. It can operate on any Serializable data type and will use the MPI_Pack function of the underlying MPI implementation to perform serialization.

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 for transmission over the given MPI communicator and with an initial buffer.

    Parameters:

    b

    A user-defined buffer that will be filled with the binary representation of serialized objects.

    comm

    The communicator over which this archive will be sent.

    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 for transmission over the given MPI communicator.

    Parameters:

    comm

    The communicator over which this archive will be sent.

    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);
  6. void save_override(archive::class_id_type & t, int version);

PrevUpHomeNext