MADNESS  0.10.1
Public Member Functions | Private Attributes | List of all members
madness::archive::MPIRawInputArchive Class Reference

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

#include <mpi_archive.h>

Inheritance diagram for madness::archive::MPIRawInputArchive:
Inheritance graph
[legend]
Collaboration diagram for madness::archive::MPIRawInputArchive:
Collaboration graph
[legend]

Public Member Functions

 MPIRawInputArchive (World &world, const ProcessID &src, int tag=SafeMPI::MPIAR_TAG)
 Construct an archive for receiving data via MPI. More...
 
template<class T >
std::enable_if< is_trivially_serializable< T >::value, void >::type load (T *t, long n) const
 Receive data from the source process and deserialize it. More...
 
- Public Member Functions inherited from madness::archive::BaseArchive
 BaseArchive ()
 

Private Attributes

ProcessID src
 The source process. More...
 
int tag
 MPI communication tag. More...
 
Worldworld
 The world. More...
 

Additional Inherited Members

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

Detailed Description

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

Constructor & Destructor Documentation

◆ MPIRawInputArchive()

madness::archive::MPIRawInputArchive::MPIRawInputArchive ( World world,
const ProcessID src,
int  tag = SafeMPI::MPIAR_TAG 
)
inline

Construct an archive for receiving data via MPI.

Todo:
Descriptions needed.
Parameters
[in]worldThe world.
[in]srcThe source process.
[in]tagMPI communication tag.

Member Function Documentation

◆ load()

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

Receive data from the source process and deserialize it.

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

Template Parameters
TThe data type to receive.
Parameters
[out]tPointer to where the data should be stored.
[in]nThe number of data items to receive.

References madness::World::mpi, madness::WorldMpiInterface::Recv(), src, tag, and world.

Member Data Documentation

◆ src

ProcessID madness::archive::MPIRawInputArchive::src
private

The source process.

Referenced by load().

◆ tag

int madness::archive::MPIRawInputArchive::tag
private

MPI communication tag.

Referenced by load().

◆ world

World* madness::archive::MPIRawInputArchive::world
mutableprivate

The world.

Referenced by load().


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