Class jsonReader

Inheritance Relationships

Base Type

Class Documentation

class jsonReader : public StateReader

Public Functions

jsonReader(const std::string &model_name, const std::unordered_map<std::string, EnvironmentDescription::PropData> &env_desc, std::unordered_map<std::pair<std::string, unsigned int>, Any> &env_init, StringPairUnorderedMap<std::shared_ptr<AgentVector>> &model_state, const std::string &input_file, Simulation *sim_instance)

Constructs a reader capable of reading model state from JSON files Environment properties will be read into the Simulation instance pointed to by ‘sim_instance_id’ Agent data will be read into ‘model_state’

Parameters
  • model_name – Name from the model description hierarchy of the model to be loaded

  • env_desc – Environment description for validating property data on load

  • env_init – Dictionary of loaded values map:<{name, index}, value>

  • model_state – Map of AgentVector to load the agent data into per agent, key should be agent name

  • input_file – Filename of the input file (This will be used to determine which reader to return)

  • sim_instance – Instance of the Simulation object (This is used for setting/getting config)

virtual int parse()

Actual performs the XML parsing to load the model state

Throws

RapidJSONError – If parsing of the input file fails

Returns

Always 0