|
NGen
|
Abstract class for managing and writing to nexus data files. More...
#include <NexusOutputsMgr.hpp>
Inheritance diagram for utils::NexusOutputsMgr:
Collaboration diagram for utils::NexusOutputsMgr:Public Member Functions | |
| virtual void | close ()=0 |
| Close down this manager, closing any and all open files. | |
| virtual void | commit_writes ()=0 |
| Write any received data entries that were not written immediately upon receipt to the managed data files. | |
| virtual bool | is_closed ()=0 |
| A test of whether this instance is closed. | |
| virtual void | receive_data_entry (const std::string &formulation_id, const std::string &nexus_id, const time_marker &data_time_marker, const double flow_data_at_t)=0 |
| Receive a data entry for this nexus, specifying details including the formulation id. | |
| virtual void | receive_data_entry (const std::string &nexus_id, const time_marker &data_time_marker, const double flow_data_at_t) |
| Receive a data entry for this nexus, specifying details but using the default formulation id (however that is determined). | |
Protected Member Functions | |
| virtual | ~NexusOutputsMgr ()=default |
| const std::string | get_default_formulation_id () |
| Get some a formulation id value. | |
Abstract class for managing and writing to nexus data files.
|
protectedvirtualdefault |
|
pure virtual |
Close down this manager, closing any and all open files.
Once a manager is closed, it should not be able to receive new data. Subsequent calls to receive_data_entry functions should result in an exception.
Subtypes may choose how to handle any data received since the last call to commit_writes.
If an instance is already closed, implementations should simply return.
Implemented in utils::PerNexusCsvOutputMgr.
|
pure virtual |
Write any received data entries that were not written immediately upon receipt to the managed data files.
Implemented in utils::PerNexusCsvOutputMgr.
Referenced by ngen::SurfaceLayer::update_models().
|
inlineprotected |
Get some a formulation id value.
Referenced by receive_data_entry().
|
pure virtual |
A test of whether this instance is closed.
Implemented in utils::PerNexusCsvOutputMgr.
|
pure virtual |
Receive a data entry for this nexus, specifying details including the formulation id.
| formulation_id | The id of the formulation involved in producing this data. |
| nexus_id | The id for the nexus to which this data applies. |
| data_time_marker | A marker for the current simulation time for the data. |
| flow_data_at_t | The nexus flow contribution at this time index (the main data to write). |
Implemented in utils::PerNexusCsvOutputMgr.
Referenced by receive_data_entry(), and ngen::SurfaceLayer::update_models().
|
inlinevirtual |
Receive a data entry for this nexus, specifying details but using the default formulation id (however that is determined).
| nexus_id | The id for the nexus to which this data applies. |
| data_time_marker | A marker for the current simulation time for the data. |
| flow_data_at_t | The nexus flow contribution at this time index (the main data to write). |
References get_default_formulation_id(), and receive_data_entry().