Add assignment

This commit is contained in:
Job Noorman
2022-10-27 12:29:19 +02:00
commit 9f05ab03c1
49 changed files with 4339 additions and 0 deletions

25
CastlingRights.hpp Normal file
View File

@@ -0,0 +1,25 @@
#ifndef CHESS_ENGINE_CASTLINGRIGHTS_HPP
#define CHESS_ENGINE_CASTLINGRIGHTS_HPP
#include <iosfwd>
enum class CastlingRights {
None = 0,
WhiteKingside = 1 << 0,
WhiteQueenside = 1 << 1,
BlackKingside = 1 << 2,
BlackQueenside = 1 << 3,
White = WhiteKingside | WhiteQueenside,
Black = BlackKingside | BlackQueenside,
All = White | Black
};
CastlingRights operator&(CastlingRights lhs, CastlingRights rhs);
CastlingRights& operator&=(CastlingRights& lhs, CastlingRights rhs);
CastlingRights operator|(CastlingRights lhs, CastlingRights rhs);
CastlingRights& operator|=(CastlingRights& lhs, CastlingRights rhs);
CastlingRights operator~(CastlingRights cr);
std::ostream& operator<<(std::ostream& os, CastlingRights cr);
#endif