|
openPMD-api
|
Writing side of the streaming API. More...
Classes | |
| class | AttributableData |
| class | BaseRecordComponentData |
| class | BaseRecordData |
| class | ContainerData |
| struct | DeferredParseAccess |
| class | EraseStaleEntries |
| This class wraps a Container and forwards operator[]() and at() to it. More... | |
| struct | FlushParams |
| Parameters recursively passed through the openPMD hierarchy when flushing. More... | |
| class | IterationData |
| struct | ParsedFlushParams |
| class | PatchRecordComponentData |
| class | RecordComponentData |
| class | SeriesData |
| Data members for Series. More... | |
Enumerations | |
| enum | ParsePreference : char { UpFront, PerStep } |
| enum | SeriesStatus : unsigned char { SeriesStatus::Default, SeriesStatus::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 | CloseStatus { CloseStatus::ParseAccessDeferred, CloseStatus::Open, CloseStatus::ClosedInFrontend, CloseStatus::ClosedInBackend, CloseStatus::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. |
1.8.13