Select Git revision
matrix.hxx 637 B
#ifndef _MATRIX_HXX_
#define _MATRIX_HXX_
#include <vector>
#include "element.hxx"
#include "utils.hxx"
class Matrix
{
private:
std::vector<std::vector<Symbol>> board_;
bool solved = false;
protected:
Symbol at(const Position& pos) const;
public:
Matrix(std::size_t dim);
bool put(const Element& elem, const Position& pos);
bool putFirst(const Element& elem, Position& posIn);
void free(const Element& elem, const Position& pos);
bool isFree(const Position& pos);
std::size_t size() const { return board_.size(); }
bool isSolved() const { return solved; }
void print() const;
};
#endif