#include "PatternSet.hpp" PatternSet::PatternSet(std::uint8_t width, std::uint8_t height) : m_width(width), m_height(height) { } PatternSet::PatternSet(const std::set> aliveCells) : m_aliveCells(aliveCells) { m_width = std::max_element( aliveCells.begin(), aliveCells.end(), [](const auto coord1, const auto coord2) { return coord1.first < coord2.first; }) ->first + 1; m_height = std::max_element( aliveCells.begin(), aliveCells.end(), [](const auto coord1, const auto coord2) { return coord1.second < coord2.second; }) ->second + 1; } std::uint8_t PatternSet::getSizeX() const { return m_width; } std::uint8_t PatternSet::getSizeY() const { return m_height; } bool PatternSet::getCell(std::uint8_t x, std::uint8_t y) const { return m_aliveCells.contains(std::pair(x, y)); }