#include <ProcessSpecificArchive.hpp>
Public Member Functions | |
template<> | |
boost::archive::text_oarchive * | mpArchive |
template<> | |
boost::archive::text_iarchive * | mpArchive |
Static Public Member Functions | |
static Archive * | Get (void) |
static void | Set (Archive *pArchive) |
Static Private Attributes | |
static Archive * | mpArchive |
This class provides access to a secondary archive in which to store the distributed data. When opening an archive in a (potentially) parallel setting, using either the ArchiveOpener or CardiacSimulationArchiver, the Set method will be called to specify the archive. Classes which need to save distributed data can then use the Get method to access and write to/read from this archive.
Note that because this class stores just a pointer to the archive, whatever object owns the archive must ensure it exists for the duration of the serialization process, and call Set(NULL) prior to closing the archive for safety.
Note also that implementations of this templated class only exist for text archives, i.e. Archive = boost::archive::text_iarchive or Archive = boost::archive::text_oarchive.
Definition at line 61 of file ProcessSpecificArchive.hpp.
static Archive* ProcessSpecificArchive< Archive >::Get | ( | void | ) | [inline, static] |
Retrieve the stored secondary archive for this process.
Definition at line 69 of file ProcessSpecificArchive.hpp.
References EXCEPTION, and ProcessSpecificArchive< Archive >::mpArchive().
Referenced by AbstractCardiacTissue< SPACE_DIM >::load(), Electrodes< DIM >::load(), AbstractCardiacProblem< ELEMENT_DIM, ELEMENT_DIM, 1 >::LoadBoundaryConditions(), AbstractCardiacTissue< SPACE_DIM >::save(), Electrodes< DIM >::save(), AbstractCardiacProblem< ELEMENT_DIM, ELEMENT_DIM, 1 >::SaveBoundaryConditions(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::serialize().
static void ProcessSpecificArchive< Archive >::Set | ( | Archive * | pArchive | ) | [inline, static] |
Set the secondary archive for this process.
pArchive | the archive to use. |
Definition at line 83 of file ProcessSpecificArchive.hpp.
References ProcessSpecificArchive< Archive >::mpArchive().
Referenced by ArchiveOpener< Archive, Stream >::ArchiveOpener().
boost::archive::text_oarchive * ProcessSpecificArchive< boost::archive::text_oarchive >::mpArchive | ( | ) | [inline] |
The process-specific output archive
Definition at line 37 of file ProcessSpecificArchive.cpp.
Referenced by ProcessSpecificArchive< Archive >::Get(), and ProcessSpecificArchive< Archive >::Set().
boost::archive::text_iarchive * ProcessSpecificArchive< boost::archive::text_iarchive >::mpArchive | ( | ) | [inline] |
The process-specific input archive
Definition at line 41 of file ProcessSpecificArchive.cpp.
Archive* ProcessSpecificArchive< Archive >::mpArchive [static, private] |
The secondary archive for this process.
Definition at line 65 of file ProcessSpecificArchive.hpp.