openPMD-api
|
Layer to mirror structure of logical data and persistent data in file. More...
#include <Writable.hpp>
Public Member Functions | |
Writable (Writable const &other)=delete | |
Writable (Writable &&other)=delete | |
Writable & | operator= (Writable const &other)=delete |
Writable & | operator= (Writable &&other)=delete |
void | seriesFlush (std::string backendConfig="{}") |
Flush the corresponding Series object. More... | |
private void | seriesFlush (internal::FlushParams) |
Public Attributes | |
std::shared_ptr< AbstractFilePosition > | abstractFilePosition = nullptr |
std::shared_ptr< std::optional< std::unique_ptr< AbstractIOHandler > > > | IOHandler = nullptr |
internal::AttributableData * | attributable = nullptr |
Writable * | parent = nullptr |
bool | dirty = true |
std::vector< std::string > | ownKeyWithinParent |
If parent is not null, then this is a vector of keys such that: &(*parent)[key_1]...[key_n] == this (Notice that scalar record components do not link their direct parent, but instead their parent's parent, hence a vector of keys) | |
bool | written = false |
Whether a Writable has been written to the backend. More... | |
Friends | |
class | internal::AttributableData |
class | internal::SeriesData |
class | Attributable |
template<typename T_elem > | |
class | BaseRecord |
template<typename T_elem > | |
class | BaseRecordInterface |
template<typename T , typename T_key , typename T_container > | |
class | Container |
class | Iteration |
class | Mesh |
class | ParticleSpecies |
class | Series |
class | Record |
class | AbstractIOHandlerImpl |
template<typename > | |
class | CommonADIOS1IOHandlerImpl |
class | ADIOS1IOHandlerImpl |
class | ParallelADIOS1IOHandlerImpl |
class | ADIOS2IOHandlerImpl |
class | HDF5IOHandlerImpl |
class | ParallelHDF5IOHandlerImpl |
class | AbstractIOHandlerImplCommon< ADIOS2FilePosition > |
class | JSONIOHandlerImpl |
struct | test::TestHelper |
template<typename > | |
class | Span |
std::string | concrete_h5_file_position (Writable *) |
std::string | concrete_bp1_file_position (Writable *) |
Layer to mirror structure of logical data and persistent data in file.
Hierarchy of objects (datasets, groups, attributes, ...) in openPMD is managed in this class. It also indicates the current synchronization state between logical and persistent data: - whether the object has been created in persistent form
void openPMD::Writable::seriesFlush | ( | std::string | backendConfig = "{}" | ) |
bool openPMD::Writable::written = false |
Whether a Writable has been written to the backend.
The class Writable is used to link objects in our (frontend) object model of the openPMD group hierarchy to the backends. The openPMD hierarchy needs to be built by each backend independently from the frontend. This involves the following tasks:
If those tasks have been performed, the flag written is set as true. The interpretation of that is that the backend has been made aware of the Writable and its meaning within the current dataset.