12 #include "nlohmann/json.h" 23 virtual void output()
override;
27 virtual std::string
filename()
override;
45 void dataStore(std::ostream & stream, nlohmann::json & json,
void * context);
47 void dataLoad(std::istream & stream, nlohmann::json & json,
void * context);
virtual void outputSystemInformation() override
const bool _one_file_per_timestep
Flag to create a file for each time step.
void dataStore(std::ostream &stream, nlohmann::json &json, void *context)
const ReporterData & _reporter_data
bool _has_distributed
True when distributed data exists for output.
virtual void timestepSetup() override
Gets called at the beginning of the timestep before this object is asked to do its job...
static InputParameters validParams()
const std::vector< ReporterName > *const _reporters
The names of the specific reporters to output (if any)
virtual void outputReporters() override
Output Reporter values.
virtual void initialSetup() override
Call init() method on setup.
Based class for output objects.
void dataLoad(std::istream &stream, nlohmann::json &json, void *context)
const InputParameters & parameters() const
Get the parameters of the object.
nlohmann::json & _json
The root JSON node for output.
JSONOutput(const InputParameters ¶meters)
virtual std::string filename() override
The filename for the output file.
virtual void output() override
A single call to this function should output all the necessary data for a single timestep.
This is a helper class for managing the storage of declared Reporter object values.