MADNESS  0.10.1
Public Member Functions | Private Attributes | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for madness::archive::MPIRawOutputArchive:
Collaboration graph
[legend]

Public Member Functions

 MPIRawOutputArchive (World &world, const ProcessID &dest, int tag=SafeMPI::MPIAR_TAG)
 Construct an archive for sending data via MPI. More...
 
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. More...
 
- Public Member Functions inherited from madness::archive::BaseArchive
 BaseArchive ()
 

Private Attributes

ProcessID dest
 The destination process. More...
 
int tag
 MPI communication tag. More...
 
Worldworld
 The world. More...
 

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. 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::BaseOutputArchive
static constexpr bool is_output_archive = true
 Flag to determine if this object is an output 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 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.

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, madness::World::mpi, madness::WorldMpiInterface::Send(), tag, and world.

Member Data Documentation

◆ dest

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

The destination process.

Referenced by store().

◆ tag

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

MPI communication tag.

Referenced by store().

◆ world

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

The world.

Referenced by store().


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