diff --git a/include/clusters.hpp b/include/clusters.hpp index 5d9feda..e2beb69 100644 --- a/include/clusters.hpp +++ b/include/clusters.hpp @@ -1,8 +1,7 @@ #pragma once #include -#include -#include +#include // Using boost flat set was faster than std::set. diff --git a/include/colored_output.hpp b/include/colored_output.hpp deleted file mode 100644 index f855e85..0000000 --- a/include/colored_output.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#include - -std::string colored_block(int color); diff --git a/include/data.hpp b/include/data.hpp index 891fb79..a45f849 100644 --- a/include/data.hpp +++ b/include/data.hpp @@ -4,6 +4,8 @@ #include #include #include +#include +#include struct BasicRulesBase { unsigned int min_size; @@ -65,3 +67,7 @@ private: // consider make_nvp for readable json } }; + +struct DynamicGrid; +AnalyzedGrid grid_from_file(std::string file_path); +void grid_to_file(AnalyzedGrid const & grid, std::string file_path); diff --git a/include/solver.hpp b/include/solver.hpp index 95a15ca..2b370b8 100644 --- a/include/solver.hpp +++ b/include/solver.hpp @@ -2,6 +2,7 @@ #include "data.hpp" #include "clusters.hpp" + #include template diff --git a/include/utilities.hpp b/include/utilities.hpp index c5c3b0b..ceaccf0 100644 --- a/include/utilities.hpp +++ b/include/utilities.hpp @@ -1,6 +1,7 @@ #pragma once #include +#include // Simple static vector (much faster) // Also slightly faster than boost::container::static_vector @@ -17,3 +18,6 @@ struct small_vector{ auto begin() const { return &arr[0]; } auto end() const { return &arr[elements]; } }; + +// Generates color codes for the terminal +std::string colored_block(int color); diff --git a/include/analyzed_grid.hpp b/lib/data.cpp similarity index 65% rename from include/analyzed_grid.hpp rename to lib/data.cpp index d08a637..3c2e577 100644 --- a/include/analyzed_grid.hpp +++ b/lib/data.cpp @@ -1,16 +1,11 @@ -#pragma once - #include "data.hpp" #include "dynamic_grid.hpp" -#include "solver.hpp" -#include "rules.hpp" #include #include - #include -inline auto grid_from_file(std::string file_path){ +AnalyzedGrid grid_from_file(std::string file_path){ std::ifstream file(file_path); boost::archive::text_iarchive ar(file); @@ -19,10 +14,9 @@ inline auto grid_from_file(std::string file_path){ return ret; } -inline auto grid_to_file(AnalyzedGrid const & grid, std::string file_path){ +void grid_to_file(const AnalyzedGrid& grid, std::string file_path){ std::ofstream file(file_path); boost::archive::text_oarchive ar(file); ar << grid; } - diff --git a/lib/dynamic_grid.cpp b/lib/dynamic_grid.cpp index e74b80c..0329955 100644 --- a/lib/dynamic_grid.cpp +++ b/lib/dynamic_grid.cpp @@ -1,5 +1,5 @@ #include "dynamic_grid.hpp" -#include "colored_output.hpp" +#include "utilities.hpp" #include #include diff --git a/lib/colored_output.cpp b/lib/utilities.cpp similarity index 95% rename from lib/colored_output.cpp rename to lib/utilities.cpp index 68ce688..20d61ea 100644 --- a/lib/colored_output.cpp +++ b/lib/utilities.cpp @@ -1,4 +1,4 @@ -#include "colored_output.hpp" +#include "utilities.hpp" static const bool disable_colors = false; diff --git a/src/generate.cpp b/src/generate.cpp index 02831d0..dbbcc9c 100644 --- a/src/generate.cpp +++ b/src/generate.cpp @@ -1,8 +1,7 @@ #include "dynamic_grid.hpp" -#include "clusters.hpp" #include "solver.hpp" #include "rules.hpp" -#include "analyzed_grid.hpp" +#include "data.hpp" #include diff --git a/src/replay.cpp b/src/replay.cpp index 6962025..89805f0 100644 --- a/src/replay.cpp +++ b/src/replay.cpp @@ -1,6 +1,7 @@ #include "dynamic_grid.hpp" -#include "analyzed_grid.hpp" #include "clusters.hpp" +#include "rules.hpp" +#include "data.hpp" #include