23 #include "openPMD/auxiliary/Variant.hpp" 24 #include "openPMD/backend/Attributable.hpp" 25 #include "openPMD/backend/Container.hpp" 26 #include "openPMD/IterationEncoding.hpp" 27 #include "openPMD/Mesh.hpp" 28 #include "openPMD/ParticleSpecies.hpp" 29 #include "openPMD/Streaming.hpp" 58 template<
typename T >
66 template<
typename T >
73 template<
typename T >
81 template<
typename T >
111 close(
bool flush =
true );
156 void flushFileBased(std::string
const&, uint64_t);
157 void flushGroupBased(uint64_t);
165 enum class CloseStatus
184 std::shared_ptr< CloseStatus > m_closed =
185 std::make_shared< CloseStatus >( CloseStatus::Open );
194 std::shared_ptr< StepStatus > m_stepStatus =
195 std::make_shared< StepStatus >( StepStatus::NoStep );
247 dirtyRecursive()
const;
249 virtual void linkHierarchy(std::shared_ptr< Writable >
const& w);
254 Iteration::time< float >()
const;
258 Iteration::time< double >()
const;
262 Iteration::time< long double >()
const;
264 template<
typename T >
267 {
return Attributable::readFloatingpoint< T >(
"time"); }
272 Iteration::dt< float >()
const;
276 Iteration::dt< double >()
const;
280 Iteration::dt< long double >()
const;
282 template<
typename T >
285 {
return Attributable::readFloatingpoint< T >(
"dt"); }
T time() const
Definition: Iteration.hpp:266
Iteration & setDt(T newDt)
Set the time step used to reach this iteration.
Definition: Iteration.cpp:89
double timeUnitSI() const
Definition: Iteration.cpp:98
Logical compilation of data from one snapshot (e.g.
Definition: Iteration.hpp:38
Iteration & open()
Open an iteration.
Definition: Iteration.cpp:179
StepStatus
Used in step-based mode (i.e.
Definition: Streaming.hpp:44
T dt() const
Definition: Iteration.hpp:284
Iteration & close(bool flush=true)
Close an iteration.
Definition: Iteration.cpp:113
AdvanceStatus
In step-based mode (i.e.
Definition: Streaming.hpp:20
Writing side of the streaming API.
Definition: Series.hpp:484
bool closed() const
Has the iteration been closed? A closed iteration may not (yet) be reopened.
Definition: Iteration.cpp:196
Root level of the openPMD hierarchy.
Definition: Series.hpp:64
Public definitions of openPMD-api.
Definition: Date.cpp:29
Definition: Series.hpp:402
Iteration & setTime(T newTime)
Set the global reference time for this iteration.
Definition: Iteration.cpp:79
bool closedByWriter() const
Has the iteration been closed by the writer? Background: Upon calling Iteration::close(), the openPMD API will add metadata to the iteration in form of an attribute, indicating that the iteration has indeed been closed.
Definition: Iteration.cpp:202
Map-like container that enforces openPMD requirements and handles IO.
Definition: Container.hpp:70
Iteration & setTimeUnitSI(double newTimeUnitSI)
Set the conversion factor to convert time and dt to seconds.
Definition: Iteration.cpp:104
Layer to manage storage of attributes associated with file objects.
Definition: Attributable.hpp:65