openPMD-api
|
Writing side of the streaming API. More...
Classes | |
class | AttributableData |
class | BaseRecordData |
class | ScalarIterator |
class | BaseRecordComponentData |
class | EraseStaleEntries |
This class wraps a Container and forwards operator[]() and at() to it. More... | |
class | ContainerData |
struct | FlushParams |
Parameters recursively passed through the openPMD hierarchy when flushing. More... | |
struct | ParsedFlushParams |
struct | DeferredParseAccess |
class | IterationData |
class | RecordComponentData |
class | SeriesData |
Data members for Series. More... | |
Enumerations | |
enum class | ParsePreference : char { UpFront , PerStep } |
enum class | SeriesStatus : unsigned char { Default , Parsing } |
Some parts of the openPMD object model are read-only when accessing a Series in Access::READ_ONLY mode, notably Containers and Attributes. More... | |
enum class | CloseStatus { ParseAccessDeferred , Open , ClosedInFrontend , ClosedInBackend , ClosedTemporarily } |
Whether an iteration has been closed yet. More... | |
Functions | |
std::string | operationAsString (Operation op) |
template<typename Functor , typename... Args> | |
auto | withRWAccess (SeriesStatus &status, Functor &&functor, Args &&...args) -> decltype(std::forward< Functor >(functor)(std::forward< Args >(args)...)) |
Variables | |
FlushParams const | defaultFlushParams {} |
ParsedFlushParams const | defaultParsedFlushParams {defaultFlushParams} |
Writing side of the streaming API.
Create instance via Series::writeIterations(). For use via WriteIterations::operator[](). Designed to allow reading any kind of Series, streaming and non- streaming alike. Calling Iteration::close() manually before opening the next iteration is encouraged and will implicitly flush all deferred IO actions. Otherwise, Iteration::close() will be implicitly called upon SeriesIterator::operator++(), i.e. upon going to the next iteration in the foreach loop.
Since this is designed for streaming mode, reopening an iteration is not possible once it has been closed.
|
strong |
Whether an iteration has been closed yet.
Enumerator | |
---|---|
ParseAccessDeferred | The reader has not yet parsed this iteration. |
Open | Iteration has not been closed. |
ClosedInFrontend | Iteration has been closed, but task has not yet been propagated to the backend |
ClosedInBackend | Iteration has been closed and task has been propagated to the backend |
ClosedTemporarily | Iteration has been closed internally and may be reopened later |
|
strong |
Some parts of the openPMD object model are read-only when accessing a Series in Access::READ_ONLY mode, notably Containers and Attributes.
They are filled at parse time and not modified afterwards. Such state-changing operations are hence allowed under either of two conditions: 1) The Series is opened in an open mode that allows writing in any way. (Currently any but Access::READ_ONLY). 2) The Series is in Parsing state. This way, modifying the open mode during parsing can be avoided.
Enumerator | |
---|---|
Default | Mutability of objects in the openPMD object model is determined by the open mode (Access enum), normal state in which the user interacts with the Series. |
Parsing | All objects in the openPMD object model are temporarily mutable to allow inserting newly-parsed data. Special state only active while internal routines are running. |