Skip to content
Snippets Groups Projects
Select Git revision
  • 692df17a1dfa0b4a80544731dc5c7b23a9a18fe4
  • master default protected
2 results

matrix.hxx

Blame
  • user avatar
    Tamas Bunth authored
    692df17a
    History
    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