\doxysection{Board\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{class_board}{}\label{class_board}\index{Board$<$ T $>$@{Board$<$ T $>$}}


Base template for any board used in board games.  




{\ttfamily \#include $<$Board\+Game\+\_\+\+Classes.\+h$>$}

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_board_ae5dfded241ee3644196e2f6074d1d0b1}{Board}} (int \mbox{\hyperlink{class_board_a948d978e3b5fc460559b588f5dee9572}{rows}}, int \mbox{\hyperlink{class_board_afaf8842d9d52ac724e8c2f5642ecafc7}{columns}})
\begin{DoxyCompactList}\small\item\em Construct a board with given dimensions. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{class_board_a138a6378af669dd1ce55dc11217aea48}{\texorpdfstring{$\sim$}{\string~}\+Board}} ()
\begin{DoxyCompactList}\small\item\em Virtual destructor. Frees allocated board memory. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_board_a93d9dec601dda58b7e206ccb47633e57}{update\+\_\+board}} (\mbox{\hyperlink{class_move}{Move}}$<$ T $>$ \texorpdfstring{$\ast$}{*}move)=0
\begin{DoxyCompactList}\small\item\em Update the board with a new move. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_board_ab316fe3e79677b4617fc3d90d6c48f33}{is\+\_\+win}} (\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*})=0
\begin{DoxyCompactList}\small\item\em Check if a player has won. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_board_a207d5f6feb77f81c51d1462f0245890d}{is\+\_\+lose}} (\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*})=0
\begin{DoxyCompactList}\small\item\em Check if a player has lost. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_board_a8dbe2a243881986f3e53b45799d377fc}{is\+\_\+draw}} (\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*})=0
\begin{DoxyCompactList}\small\item\em Check if the game ended in a draw. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_board_ae0e4575ec3cc4b6eb9f367ffb2beed13}{game\+\_\+is\+\_\+over}} (\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*})=0
\begin{DoxyCompactList}\small\item\em Check if the game is over. \end{DoxyCompactList}\item 
vector$<$ vector$<$ T $>$ $>$ \mbox{\hyperlink{class_board_a117f2e61fdb7deccca333bbbc9c62d3a}{get\+\_\+board\+\_\+matrix}} () const
\begin{DoxyCompactList}\small\item\em Return a copy of the current board as a 2D vector. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{class_board_a93b130eff67bd4476fab27be8341cb78}{get\+\_\+rows}} () const
\begin{DoxyCompactList}\small\item\em Get number of rows. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{class_board_ac665e1ed1f49125fab248e2c9ddfd608}{get\+\_\+columns}} () const
\begin{DoxyCompactList}\small\item\em Get number of columns. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{class_board_a948d978e3b5fc460559b588f5dee9572}{rows}}
\begin{DoxyCompactList}\small\item\em Number of rows. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{class_board_afaf8842d9d52ac724e8c2f5642ecafc7}{columns}}
\begin{DoxyCompactList}\small\item\em Number of columns. \end{DoxyCompactList}\item 
vector$<$ vector$<$ T $>$ $>$ \mbox{\hyperlink{class_board_af00c1fc363eb640ca276b8a572040040}{board}}
\begin{DoxyCompactList}\small\item\em 2D vector for the board \end{DoxyCompactList}\item 
int \mbox{\hyperlink{class_board_a5952baefabced65fecec333de638408d}{n\+\_\+moves}} = 0
\begin{DoxyCompactList}\small\item\em Number of moves made. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\newline
class Board$<$ T $>$}
Base template for any board used in board games. 


\begin{DoxyTemplParams}{Template Parameters}
{\em T} & Type of the elements stored on the board (e.\+g., char, int, string).\\
\hline
\end{DoxyTemplParams}
Provides core data (rows, columns, matrix) and virtual methods to be implemented by specific games like Tic-\/\+Tac-\/\+Toe, Connect4, etc. 

\label{doc-constructors}
\Hypertarget{class_board_doc-constructors}
\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{class_board_ae5dfded241ee3644196e2f6074d1d0b1}\index{Board$<$ T $>$@{Board$<$ T $>$}!Board@{Board}}
\index{Board@{Board}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Board()}{Board()}}
{\footnotesize\ttfamily \label{class_board_ae5dfded241ee3644196e2f6074d1d0b1} 
template$<$typename T$>$ \\
\mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::\+Board (\begin{DoxyParamCaption}\item[{int}]{rows}{, }\item[{int}]{columns}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Construct a board with given dimensions. 

\Hypertarget{class_board_a138a6378af669dd1ce55dc11217aea48}\index{Board$<$ T $>$@{Board$<$ T $>$}!````~Board@{\texorpdfstring{$\sim$}{\string~}Board}}
\index{````~Board@{\texorpdfstring{$\sim$}{\string~}Board}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}Board()}{\string~Board()}}
{\footnotesize\ttfamily \label{class_board_a138a6378af669dd1ce55dc11217aea48} 
template$<$typename T$>$ \\
virtual \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::\texorpdfstring{$\sim$}{\string~}\mbox{\hyperlink{class_board}{Board}} (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Virtual destructor. Frees allocated board memory. 



\label{doc-func-members}
\Hypertarget{class_board_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{class_board_ae0e4575ec3cc4b6eb9f367ffb2beed13}\index{Board$<$ T $>$@{Board$<$ T $>$}!game\_is\_over@{game\_is\_over}}
\index{game\_is\_over@{game\_is\_over}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{game\_is\_over()}{game\_is\_over()}}
{\footnotesize\ttfamily \label{class_board_ae0e4575ec3cc4b6eb9f367ffb2beed13} 
template$<$typename T$>$ \\
virtual bool \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::game\+\_\+is\+\_\+over (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*}}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Check if the game is over. 



Implemented in \mbox{\hyperlink{class_diamond_tic_tac_toe_board_a5999c442d74f6bca316c11c70088e8dd}{Diamond\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_four_board_a43c4eef54ce72b6a593c8d84d105cf3f}{Four\+Board}}, \mbox{\hyperlink{class_four_in_a_row_board_a3262e33856526a21dfbb476ac07b0f12}{Four\+In\+ARow\+Board}}, \mbox{\hyperlink{class_infinity_tic_tac_toe_board_a18974f362fd72d2db6aab5119642364a}{Infinity\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_memory_tic_tac_toe_board_a0b1bd547cc238fea9cc324e843dfcf75}{Memory\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_misere_tic_tac_toe___board_a7ae5dc5b6d45d16da795ecf58b5f5341}{Misere\+Tic\+Tac\+Toe\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical___board_a384a5fceea5347d14cc3c9496a9298e3}{Numerical\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical_tic_tac_toe_board_a84d93b6304f5f69c210ea77222e752e8}{Numerical\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_obstacles_tic_tac_toe_board_a4a961b56be7ca90c8b13ab8a1ac5eca3}{Obstacles\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_pyramic___x_o___board_a7088caff1b7b17ee7cc69b91c0b15305}{Pyramic\+\_\+\+XO\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s___board_acd2c39612239065da3aea67ac7c27aa4}{SUS\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s_board_adac604683345bf7da949d3649ab43be7}{SUSBoard}}, \mbox{\hyperlink{class_tic_tac_toe4x4___board_aad817b74508a90141df6e9f9c62941c5}{Tic\+Tac\+Toe4x4\+\_\+\+Board}}, \mbox{\hyperlink{class_tic_tac_toe5x5___board_ae9df70649e2818e266edcadfd1e2214a}{Tic\+Tac\+Toe5x5\+\_\+\+Board}}, \mbox{\hyperlink{class_ultimate_tic_tac_toe_board_ab5c54eeeb45c34556074df9eeed00ee2}{Ultimate\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{classword___board_a473275333aa3351d8ec135b4bfeb7861}{word\+\_\+\+Board}}, and \mbox{\hyperlink{class_x_o___board_a28dca741c038155536330641c299f146}{XO\+\_\+\+Board}}.

\Hypertarget{class_board_a117f2e61fdb7deccca333bbbc9c62d3a}\index{Board$<$ T $>$@{Board$<$ T $>$}!get\_board\_matrix@{get\_board\_matrix}}
\index{get\_board\_matrix@{get\_board\_matrix}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_board\_matrix()}{get\_board\_matrix()}}
{\footnotesize\ttfamily \label{class_board_a117f2e61fdb7deccca333bbbc9c62d3a} 
template$<$typename T$>$ \\
vector$<$ vector$<$ T $>$ $>$ \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::get\+\_\+board\+\_\+matrix (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Return a copy of the current board as a 2D vector. 

\Hypertarget{class_board_ac665e1ed1f49125fab248e2c9ddfd608}\index{Board$<$ T $>$@{Board$<$ T $>$}!get\_columns@{get\_columns}}
\index{get\_columns@{get\_columns}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_columns()}{get\_columns()}}
{\footnotesize\ttfamily \label{class_board_ac665e1ed1f49125fab248e2c9ddfd608} 
template$<$typename T$>$ \\
int \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::get\+\_\+columns (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get number of columns. 

\Hypertarget{class_board_a93b130eff67bd4476fab27be8341cb78}\index{Board$<$ T $>$@{Board$<$ T $>$}!get\_rows@{get\_rows}}
\index{get\_rows@{get\_rows}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{get\_rows()}{get\_rows()}}
{\footnotesize\ttfamily \label{class_board_a93b130eff67bd4476fab27be8341cb78} 
template$<$typename T$>$ \\
int \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::get\+\_\+rows (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get number of rows. 

\Hypertarget{class_board_a8dbe2a243881986f3e53b45799d377fc}\index{Board$<$ T $>$@{Board$<$ T $>$}!is\_draw@{is\_draw}}
\index{is\_draw@{is\_draw}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{is\_draw()}{is\_draw()}}
{\footnotesize\ttfamily \label{class_board_a8dbe2a243881986f3e53b45799d377fc} 
template$<$typename T$>$ \\
virtual bool \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::is\+\_\+draw (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*}}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Check if the game ended in a draw. 



Implemented in \mbox{\hyperlink{class_diamond_tic_tac_toe_board_a8968b29bcb9f27005ed52d36334a7dd1}{Diamond\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_four_board_ae18d8b2509b8066c23516ef838eef9c1}{Four\+Board}}, \mbox{\hyperlink{class_four_in_a_row_board_a4d5c490fb7bd3f48e13abe93d88aab30}{Four\+In\+ARow\+Board}}, \mbox{\hyperlink{class_infinity_tic_tac_toe_board_a344271473aa5fffee8024cdde13b6cfc}{Infinity\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_memory_tic_tac_toe_board_a3e70282ba1e1dcfeef3c437fe6bc3fd8}{Memory\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_misere_tic_tac_toe___board_a1cd57774157d148fd287cc75827e929b}{Misere\+Tic\+Tac\+Toe\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical___board_a70ec93e5a0f9d781b63eb7353a30378c}{Numerical\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical_tic_tac_toe_board_a30f11edae923aeb9da4565bdec1cb71a}{Numerical\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_obstacles_tic_tac_toe_board_af083328e40733ffc001dd1e9b4c6723b}{Obstacles\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_pyramic___x_o___board_af4d28993edee58fa2630470d150a7c8d}{Pyramic\+\_\+\+XO\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s___board_aeb2ad5ce9bdd10ecf2d3cf06be14e6ca}{SUS\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s_board_ab773bb47fcebe565c5a6090a3b994957}{SUSBoard}}, \mbox{\hyperlink{class_tic_tac_toe4x4___board_a23ffe37d6486d8cdcb12f437f71c9f3f}{Tic\+Tac\+Toe4x4\+\_\+\+Board}}, \mbox{\hyperlink{class_tic_tac_toe5x5___board_a4c46ece15b530555b3c9d75f1d109c3c}{Tic\+Tac\+Toe5x5\+\_\+\+Board}}, \mbox{\hyperlink{class_ultimate_tic_tac_toe_board_ad37a16c0ed77f9fbc0f63b0508e73155}{Ultimate\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{classword___board_a058052683b5add840816252b5151362f}{word\+\_\+\+Board}}, and \mbox{\hyperlink{class_x_o___board_a25d8eb895437102f276b5d006341dafd}{XO\+\_\+\+Board}}.

\Hypertarget{class_board_a207d5f6feb77f81c51d1462f0245890d}\index{Board$<$ T $>$@{Board$<$ T $>$}!is\_lose@{is\_lose}}
\index{is\_lose@{is\_lose}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{is\_lose()}{is\_lose()}}
{\footnotesize\ttfamily \label{class_board_a207d5f6feb77f81c51d1462f0245890d} 
template$<$typename T$>$ \\
virtual bool \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::is\+\_\+lose (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*}}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Check if a player has lost. 



Implemented in \mbox{\hyperlink{class_diamond_tic_tac_toe_board_aff31bdcc794d21a95c84b41313133ca4}{Diamond\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_four_board_a5a3cffcd7cd2f4a480558dad05854da7}{Four\+Board}}, \mbox{\hyperlink{class_four_in_a_row_board_a19489322bc5e34869fa8d02c7296da21}{Four\+In\+ARow\+Board}}, \mbox{\hyperlink{class_infinity_tic_tac_toe_board_ad875008291fbced2f3b69916cc162522}{Infinity\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_memory_tic_tac_toe_board_aca7fec470401479598e6472dd8bab681}{Memory\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_misere_tic_tac_toe___board_acf93dc5b834d8739eebeabf8338959e1}{Misere\+Tic\+Tac\+Toe\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical___board_a0d25561cb1d7110605d5bab5573ed1e9}{Numerical\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical_tic_tac_toe_board_a9f50721e4f1e49491c95e0f348bccc68}{Numerical\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_obstacles_tic_tac_toe_board_a1916c534795eeb7033f6ab93febfe1d3}{Obstacles\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_pyramic___x_o___board_aab094db4f464cd7d1503a84858ff1adb}{Pyramic\+\_\+\+XO\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s___board_a3761b3ce05e2194ff95893b494a3c933}{SUS\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s_board_ab4588d0618fd52293e152986ae683e12}{SUSBoard}}, \mbox{\hyperlink{class_tic_tac_toe4x4___board_a278ea1df4b5523542bc3f15c211fec63}{Tic\+Tac\+Toe4x4\+\_\+\+Board}}, \mbox{\hyperlink{class_tic_tac_toe5x5___board_af1428ab40c7ac933eba61677a9a8d921}{Tic\+Tac\+Toe5x5\+\_\+\+Board}}, \mbox{\hyperlink{class_ultimate_tic_tac_toe_board_ab1b1ec64fc98d4886952ed83e94349d4}{Ultimate\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{classword___board_acf1eea94a5cee69d029b08406a8d4a1c}{word\+\_\+\+Board}}, and \mbox{\hyperlink{class_x_o___board_a4a6d968326fced7e1ee3160be85ca0cc}{XO\+\_\+\+Board}}.

\Hypertarget{class_board_ab316fe3e79677b4617fc3d90d6c48f33}\index{Board$<$ T $>$@{Board$<$ T $>$}!is\_win@{is\_win}}
\index{is\_win@{is\_win}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{is\_win()}{is\_win()}}
{\footnotesize\ttfamily \label{class_board_ab316fe3e79677b4617fc3d90d6c48f33} 
template$<$typename T$>$ \\
virtual bool \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::is\+\_\+win (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_player}{Player}}$<$ T $>$ \texorpdfstring{$\ast$}{*}}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Check if a player has won. 



Implemented in \mbox{\hyperlink{class_diamond_tic_tac_toe_board_a07df8a100648636847fb1169347461ad}{Diamond\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_four_board_a49092d1ca89edc02418b2e3be35eda73}{Four\+Board}}, \mbox{\hyperlink{class_four_in_a_row_board_acab2128bd5e2331441d458804edcbd74}{Four\+In\+ARow\+Board}}, \mbox{\hyperlink{class_infinity_tic_tac_toe_board_a59b9008e5f575661a09fa6a5774da191}{Infinity\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_memory_tic_tac_toe_board_a6530ebb58c86eccb4c9d8d52d55927a4}{Memory\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_misere_tic_tac_toe___board_aa309c990de63c0abe122b90075158a3c}{Misere\+Tic\+Tac\+Toe\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical___board_a925200c9f2d4c9fee8b3225397eae6bb}{Numerical\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical_tic_tac_toe_board_a0929966d3f78f7e566b141bce7f18155}{Numerical\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_obstacles_tic_tac_toe_board_a0f78d14ff4384f7dfc2e88230b94ba9a}{Obstacles\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_pyramic___x_o___board_aee5fc3596d78d746b5bcecd0beb496c9}{Pyramic\+\_\+\+XO\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s___board_a2230a0e70a119a14e7e7380ba9b2cb90}{SUS\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s_board_ae7aa233f581552e09a621ce627da6296}{SUSBoard}}, \mbox{\hyperlink{class_tic_tac_toe4x4___board_a6dc263cabed28de11eafbdb93b5ee05b}{Tic\+Tac\+Toe4x4\+\_\+\+Board}}, \mbox{\hyperlink{class_tic_tac_toe5x5___board_ac63ad7f76eedc49cd674305207e7c752}{Tic\+Tac\+Toe5x5\+\_\+\+Board}}, \mbox{\hyperlink{class_ultimate_tic_tac_toe_board_ab3e0743c011368128d4c3e28a6eaca52}{Ultimate\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{classword___board_a243a7be7ed912cfe5fd1ecf40d59d4aa}{word\+\_\+\+Board}}, and \mbox{\hyperlink{class_x_o___board_a18474889d2c6f39b78e5b86a14f501da}{XO\+\_\+\+Board}}.

\Hypertarget{class_board_a93d9dec601dda58b7e206ccb47633e57}\index{Board$<$ T $>$@{Board$<$ T $>$}!update\_board@{update\_board}}
\index{update\_board@{update\_board}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{update\_board()}{update\_board()}}
{\footnotesize\ttfamily \label{class_board_a93d9dec601dda58b7e206ccb47633e57} 
template$<$typename T$>$ \\
virtual bool \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::update\+\_\+board (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_move}{Move}}$<$ T $>$ \texorpdfstring{$\ast$}{*}}]{move}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Update the board with a new move. 


\begin{DoxyParams}{Parameters}
{\em move} & The move object containing position and symbol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if the move is valid and applied, false otherwise. 
\end{DoxyReturn}


Implemented in \mbox{\hyperlink{class_diamond_tic_tac_toe_board_a84548962528c21f776e5f4e205d5693f}{Diamond\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_four_board_a0ec38eafc17cedde5ad1550078e0e619}{Four\+Board}}, \mbox{\hyperlink{class_four_in_a_row_board_a63ae9b1f904a7cb859f351cc7ab24471}{Four\+In\+ARow\+Board}}, \mbox{\hyperlink{class_infinity_tic_tac_toe_board_a15c7e1ae1352006c5f53c2ac33d12d52}{Infinity\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_memory_tic_tac_toe_board_a39dd92b48194938d535f1ac961be25d4}{Memory\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_misere_tic_tac_toe___board_af09af728e31d196da80da65cdbfa2a4c}{Misere\+Tic\+Tac\+Toe\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical___board_afb190158b8a1808a7b9e59b1963a318d}{Numerical\+\_\+\+Board}}, \mbox{\hyperlink{class_numerical_tic_tac_toe_board_afa5ae973db22da5a788dd81a257e5253}{Numerical\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_obstacles_tic_tac_toe_board_a5a25efe920ed39f9fab04d76fe1906f2}{Obstacles\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{class_pyramic___x_o___board_a767d06c39f11d50e66006368f3ba0a9c}{Pyramic\+\_\+\+XO\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s___board_a22679cdc9a91a17fea898c66ad821e45}{SUS\+\_\+\+Board}}, \mbox{\hyperlink{class_s_u_s_board_a828dda64f0e6cab0aace164b567bbb9d}{SUSBoard}}, \mbox{\hyperlink{class_tic_tac_toe4x4___board_a0e808fde60e30aa54c13dbfe40d3e2b4}{Tic\+Tac\+Toe4x4\+\_\+\+Board}}, \mbox{\hyperlink{class_tic_tac_toe5x5___board_a38013d5365fb54d47aaaa4253b3f1937}{Tic\+Tac\+Toe5x5\+\_\+\+Board}}, \mbox{\hyperlink{class_ultimate_tic_tac_toe_board_ac90792792e5a954ccca9534e1dba1d1d}{Ultimate\+Tic\+Tac\+Toe\+Board}}, \mbox{\hyperlink{classword___board_a732640f8499432481b3828df95a339e5}{word\+\_\+\+Board}}, and \mbox{\hyperlink{class_x_o___board_a99598db243bd50eb28bdceb1c1052fa2}{XO\+\_\+\+Board}}.



\label{doc-variable-members}
\Hypertarget{class_board_doc-variable-members}
\doxysubsection{Member Data Documentation}
\Hypertarget{class_board_af00c1fc363eb640ca276b8a572040040}\index{Board$<$ T $>$@{Board$<$ T $>$}!board@{board}}
\index{board@{board}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{board}{board}}
{\footnotesize\ttfamily \label{class_board_af00c1fc363eb640ca276b8a572040040} 
template$<$typename T$>$ \\
vector$<$vector$<$T$>$ $>$ \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::board\hspace{0.3cm}{\ttfamily [protected]}}



2D vector for the board 

\Hypertarget{class_board_afaf8842d9d52ac724e8c2f5642ecafc7}\index{Board$<$ T $>$@{Board$<$ T $>$}!columns@{columns}}
\index{columns@{columns}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{columns}{columns}}
{\footnotesize\ttfamily \label{class_board_afaf8842d9d52ac724e8c2f5642ecafc7} 
template$<$typename T$>$ \\
int \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::columns\hspace{0.3cm}{\ttfamily [protected]}}



Number of columns. 

\Hypertarget{class_board_a5952baefabced65fecec333de638408d}\index{Board$<$ T $>$@{Board$<$ T $>$}!n\_moves@{n\_moves}}
\index{n\_moves@{n\_moves}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{n\_moves}{n\_moves}}
{\footnotesize\ttfamily \label{class_board_a5952baefabced65fecec333de638408d} 
template$<$typename T$>$ \\
int \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::n\+\_\+moves = 0\hspace{0.3cm}{\ttfamily [protected]}}



Number of moves made. 

\Hypertarget{class_board_a948d978e3b5fc460559b588f5dee9572}\index{Board$<$ T $>$@{Board$<$ T $>$}!rows@{rows}}
\index{rows@{rows}!Board$<$ T $>$@{Board$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{rows}{rows}}
{\footnotesize\ttfamily \label{class_board_a948d978e3b5fc460559b588f5dee9572} 
template$<$typename T$>$ \\
int \mbox{\hyperlink{class_board}{Board}}$<$ T $>$\+::rows\hspace{0.3cm}{\ttfamily [protected]}}



Number of rows. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_board_game___classes_8h}{Board\+Game\+\_\+\+Classes.\+h}}\end{DoxyCompactItemize}
