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_iarchive

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

Synopsis

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


class packed_iarchive : public iprimitive, public shared_ptr_helper {
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_id_type &, int);
  void load_override(archive::class_id_reference_type &, int);
  void load_override(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_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 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_iarchive(MPI_Comm const & comm, std::size_t s = 0, 
                    unsigned int flags = boost::archive::no_header);

    Construct a packed_iarchive 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_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_id_type & t, int version);
  6. void load_override(archive::class_id_reference_type & t, int version);
  7. void load_override(archive::class_name_type & t, int);

PrevUpHomeNext