MADNESS
0.10.1
|
Specialization of ArchiveImpl
for parallel input archives.
More...
#include <parallel_archive.h>
Static Public Member Functions | |
template<typename Q > | |
static std::enable_if< std::is_base_of< ParallelSerializableObject, Q >::value, const ParallelInputArchive< localarchiveT > & >::type | wrap_load (const ParallelInputArchive< localarchiveT > &ar, const Q &t) |
Load the data from the archive. More... | |
template<typename Q > | |
static std::enable_if<!std::is_base_of< ParallelSerializableObject, Q >::value, const ParallelInputArchive< localarchiveT > & >::type | wrap_load (const ParallelInputArchive< localarchiveT > &ar, const Q &t) |
Load the data from the archive. More... | |
Specialization of ArchiveImpl
for parallel input archives.
T | The data type. |
|
inlinestatic |
Load the data from the archive.
Parallel objects are forwarded to their implementation of parallel load.
The function only appears (due to enable_if
) if Q
is a parallel serializable object.
Q
necessary? I'm sure it is, but can't figure out why at a first glance. Q | Description needed. |
[in] | ar | The parallel archive. |
[out] | t | Where to put the loaded parallel object. |
References madness::load(), and T().
|
inlinestatic |
Load the data from the archive.
Serial objects are read only from process 0 and then broadcasted.
The function only appears (due to enable_if
) if Q
is not a parallel serializable object.
Q
. Q | Description needed. |
[in] | ar | The parallel archive. |
[out] | t | Where to put the loaded data. |
References madness::archive::BaseParallelArchive< Archive >::broadcast(), madness::archive::BaseParallelArchive< Archive >::get_world(), madness::archive::BaseParallelArchive< Archive >::local_archive(), madness::World::rank(), and T().