.. _program_listing_file_include_flamegpu_io_StateReader.h: Program Listing for File StateReader.h ====================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/flamegpu/io/StateReader.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef INCLUDE_FLAMEGPU_IO_STATEREADER_H_ #define INCLUDE_FLAMEGPU_IO_STATEREADER_H_ #include #include #include #include #include #include "flamegpu/util/StringPair.h" #include "flamegpu/simulation/Simulation.h" #include "flamegpu/simulation/CUDASimulation.h" namespace flamegpu { class AgentVector; namespace io { class StateReader { public: virtual ~StateReader() {} virtual void parse(const std::string &input_file, const std::shared_ptr &model, Verbosity verbosity) = 0; // ----------------------------------------------------------------------- // The Easy Interface // ----------------------------------------------------------------------- void getFullModelState( Simulation::Config &s_cfg, std::unordered_map &environment_init, std::unordered_map> ¯o_environment_init, util::StringPairUnorderedMap> &agents_init); // ----------------------------------------------------------------------- // The Advanced Interface // ----------------------------------------------------------------------- void getSimulationConfig(Simulation::Config &cfg); void getCUDAConfig(CUDASimulation::Config &cfg); void getEnvironment(std::unordered_map &environment_init); void getMacroEnvironment(std::unordered_map> ¯o_environment_init); void getAgents(util::StringPairUnorderedMap> &agents_init); protected: std::string input_filepath; void resetCache(); std::unordered_map simulation_config; std::unordered_map cuda_config; std::unordered_map env_init; std::unordered_map> macro_env_init; util::StringPairUnorderedMap> agents_map; }; } // namespace io } // namespace flamegpu #endif // INCLUDE_FLAMEGPU_IO_STATEREADER_H_