24 #ifndef CHESSNOTATION_H 25 #define CHESSNOTATION_H 65 M_chess_position(chess_position), M_type(NULL), M_piece(&piece), M_index(NULL), M_move(NULL) { }
67 M_chess_position(chess_position), M_type(NULL), M_piece(NULL), M_index(&index), M_move(NULL) { }
69 M_chess_position(chess_position), M_type(NULL), M_piece(NULL), M_index(NULL), M_move(&move) { }
71 M_chess_position(chess_position), M_type(&type), M_piece(NULL), M_index(NULL), M_move(NULL) { }
76 void print_on(std::ostream& os,
Type const& type)
const;
77 void print_on(std::ostream& os,
Piece const& piece)
const;
78 void print_on(std::ostream& os,
Index const& index)
const;
79 void print_on(std::ostream& os,
Move const& move)
const;
81 friend std::ostream& operator<<(std::ostream& os,
ChessNotation const& chess_notation);
86 #endif // CHESSNOTATION_H A namespace for all chess related objects that are not related to the GUI.
This file contains the declaration of class Type.
This file contains the declaration of class Index.
A chess move in a particular chess position.
A helper class to write other objects to an ostream.
The index of a chess square.
A particular piece on the board.
This file contains the declaration of class ChessPosition.
This file contains the definition of class Move.
This file contains the declaration of class Piece.