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