Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class packed_iarchive

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

Synopsis

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


class packed_iarchive {
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 &, int, mpl::false_);
  template<typename T> void load_override(T &, int, mpl::true_);
  template<typename T> void load_override(T &, int);
  void load_override(archive::class_id_optional_type &, int);
  void load_override(archive::class_name_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_iarchive public construct/copy/destruct

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

    Construct a packed_iarchive 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.

    position

    Set the offset into buffer b at which deserialization will begin.

  2. packed_iarchive(MPI_Comm const & comm, std::size_t s = 0, 
                    unsigned int flags = boost::archive::no_header);

    Construct a packed_iarchive 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.

    s

    The size of the buffer to be received.

packed_iarchive public member functions

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

PrevUpHomeNext