#pragma once #include #include #include #include "Communicator.hpp" #include "MpiEnvironment.hpp" #include "Tile.hpp" class MpiWireworld { Tile _tile; std::unique_ptr _comm; void processArea(Coord start, Size size); public: MpiWireworld(const MpiEnvironment& env, const Configuration& cfg); friend std::ostream& operator<<(std::ostream& out, const MpiWireworld& g); void write() const; void simulateStep(); };