23 #include "openPMD/IO/AbstractIOHandler.hpp"
30 #ifndef OPENPMD_private
31 #define OPENPMD_private private:
40 class AbstractFilePosition;
41 class AbstractIOHandler;
42 struct ADIOS2FilePosition;
43 template <
typename FilePositionType>
44 class AbstractIOHandlerImplCommon;
51 class AttributableData;
61 void printDirty(Series
const &);
79 template <
typename T_elem>
81 template <
typename T_elem>
82 friend class BaseRecordInterface;
83 template <
typename T,
typename T_key,
typename T_container>
98 friend struct test::TestHelper;
99 friend std::string concrete_h5_file_position(
Writable *);
100 friend std::string concrete_bp1_file_position(
Writable *);
103 friend void debug::printDirty(
Series const &);
123 void seriesFlush(std::string backendConfig =
"{}");
134 std::shared_ptr<AbstractFilePosition> abstractFilePosition =
nullptr;
141 std::shared_ptr<std::optional<std::unique_ptr<AbstractIOHandler>>>
Definition: ADIOS2IOHandler.hpp:94
Definition: AbstractIOHandlerImplCommon.hpp:38
Definition: AbstractIOHandlerImpl.hpp:36
Layer to manage storage of attributes associated with file objects.
Definition: Attributable.hpp:101
Base class for any type of record (e.g.
Definition: BaseRecord.hpp:224
Map-like container that enforces openPMD requirements and handles IO.
Definition: Container.hpp:104
Definition: HDF5IOHandlerImpl.hpp:39
Logical compilation of data from one snapshot (e.g.
Definition: Iteration.hpp:127
Definition: JSONIOHandlerImpl.hpp:158
Container for N-dimensional, homogeneous Records.
Definition: Mesh.hpp:41
Definition: ParallelHDF5IOHandlerImpl.hpp:38
Definition: ParticleSpecies.hpp:34
Definition: Record.hpp:33
Implementation for the root level of the openPMD hierarchy.
Definition: Series.hpp:219
Subset of C++20 std::span class template.
Definition: Span.hpp:38
Layer to mirror structure of logical data and persistent data in file.
Definition: Writable.hpp:75
bool written
Whether a Writable has been written to the backend.
Definition: Writable.hpp:184
std::string ownKeyWithinParent
If parent is not null, then this is a key such that: &(*parent)[key] == this.
Definition: Writable.hpp:168
void seriesFlush(std::string backendConfig="{}")
Flush the corresponding Series object.
Definition: Writable.cpp:45
bool dirtyRecursive
Tracks if there are unwritten changes anywhere in the tree whose ancestor this Writable is.
Definition: Writable.hpp:163
bool dirtySelf
Tracks if there are unwritten changes for this specific Writable.
Definition: Writable.hpp:150
Definition: ADIOS2File.hpp:137
Definition: Attributable.hpp:57
Data members for Series.
Definition: Series.hpp:79
Public definitions of openPMD-api.
Definition: Date.cpp:29
Parameters recursively passed through the openPMD hierarchy when flushing.
Definition: AbstractIOHandler.hpp:86