MADNESS 0.10.1
madness::archive::MPIRawOutputArchive Class Reference

Archive allowing serialization and point-to-point communication between processes with MPI. More...

#include <mpi_archive.h>

Inheritance diagram for madness::archive::MPIRawOutputArchive:
Collaboration diagram for madness::archive::MPIRawOutputArchive:

Public Member Functions

 MPIRawOutputArchive (World &world, const ProcessID &dest, int tag=SafeMPI::MPIAR_TAG)
 Construct an archive for sending data via MPI.
template<class T>
std::enable_if< is_trivially_serializable< T >::value, void >::type store (const T *t, long n) const
 Serialize data and send it to the destination process.
Public Member Functions inherited from madness::archive::BaseArchive
 BaseArchive ()

Private Attributes

ProcessID dest
 The destination process.
int tag
 MPI communication tag.
World * world
 The world.

Additional Inherited Members

Public Types inherited from madness::archive::BaseOutputArchive
using is_saving = std::true_type
 Type used by Boost.Serialization to determine if this object is an output archive.
Public Types inherited from madness::archive::BaseArchive
using is_loading = std::false_type
 Type used by Boost.Serialization to determine if this object is an input archive.
using is_saving = std::false_type
 Type used by Boost.Serialization to determine if this object is an output archive.
Static Public Attributes inherited from madness::archive::BaseOutputArchive
static constexpr bool is_output_archive = true
 Flag to determine if this object is an output archive.
Static Public Attributes inherited from madness::archive::BaseArchive
static constexpr bool is_archive = true
 Flag to determine if this object is an archive.
static constexpr bool is_input_archive = false
 Flag to determine if this object is an input archive.
static constexpr bool is_output_archive = false
 Flag to determine if this object is an output archive.
static constexpr bool is_parallel_archive = false
 Flag to determine if this object is a parallel archive.

Detailed Description

Archive allowing serialization and point-to-point communication between processes with MPI.

Constructor & Destructor Documentation

◆ MPIRawOutputArchive()

madness::archive::MPIRawOutputArchive::MPIRawOutputArchive ( World & world,
const ProcessID & dest,
int tag = SafeMPI::MPIAR_TAG )
inline

Construct an archive for sending data via MPI.

Parameters
[in]worldThe world.
[in]destThe destination process.
[in]tagMPI communication tag.

References dest, SafeMPI::MPIAR_TAG, tag, and world.

Member Function Documentation

◆ store()

template<class T>
std::enable_if< is_trivially_serializable< T >::value, void >::type madness::archive::MPIRawOutputArchive::store ( const T * t,
long n ) const
inline

Serialize data and send it to the destination process.

The function only appears (due to enable_if) if T is fundamental.

Template Parameters
TThe data type to be sent.
Parameters
[in]tPointer to the data to be sent.
[in]nThe number of data items to be sent.

References dest, tag, and world.

Member Data Documentation

◆ dest

ProcessID madness::archive::MPIRawOutputArchive::dest
private

The destination process.

Referenced by MPIRawOutputArchive(), and store().

◆ tag

int madness::archive::MPIRawOutputArchive::tag
private

MPI communication tag.

Referenced by MPIRawOutputArchive(), and store().

◆ world

World* madness::archive::MPIRawOutputArchive::world
mutableprivate

The world.

Referenced by MPIRawOutputArchive(), and store().


The documentation for this class was generated from the following file: