#pragma once #include "dynamic_grid.hpp" #include "solver.hpp" #include "rules.hpp" #include #include #include #include template struct AnalyzedGrid { Grid grid; Solution analysis; BasicRules rules; private: friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int /*version*/){ ar & grid & analysis.solution_traces; } }; inline auto grid_from_file(std::string file_path){ std::ifstream file(file_path); boost::archive::text_iarchive ar(file); AnalyzedGrid ret; ar >> ret; return ret; } inline auto grid_to_file(AnalyzedGrid const & grid, std::string file_path){ std::ofstream file(file_path); boost::archive::text_oarchive ar(file); ar << grid; }