Flags representing the state of a piece on the chessboard. More...
#include <Flags.h>
Public Member Functions | |
Constructors | |
Flags (void) | |
Construct an uninitialized Flags object. | |
Flags (Flags const& flags) | |
Copy-constructor. | |
Flags (FlagsData flags) | |
Construct a Flags object from a constant. | |
Assignment operators | |
Flags& | operator= (Flags const& flags) |
Assign from another Flags object. | |
Flags& | operator= (FlagsData flags) |
Assign from a constant. | |
void | clear (void) |
Set all flags to 0. | |
Bit fiddling | |
Flags& | operator|= (Flags const& flags) |
Set all bits that are set in flags. | |
Flags& | operator|= (FlagsData flags) |
Set all bits that are set in flags. | |
Flags& | operator&= (Flags const& flags) |
Reset all bits that are not set in flags. | |
Flags& | operator&= (FlagsData flags) |
Reset all bits that are not set in flags. | |
Flags& | operator^= (Flags const& flags) |
Toggle all bits that are set in flags. | |
Flags& | operator^= (FlagsData flags) |
Toggle all bits that are set in flags. | |
void | set (FlagsData flags) |
Set the bits that are set in flags. | |
void | reset (FlagsData flags) |
Clear the bits that are set in flags. | |
Special functions | |
void | set_can_move_two_squares_if_not_blocked (void) |
Set the fl_pawn_can_move_two_squares bit iff fl_pawn_is_not_blocked bit is already set. | |
Accessors | |
uint8_t | operator() (void) const |
Return the underlaying integral value. | |
Friends | |
Comparision operators | |
bool | operator== (Flags const& f1, Flags const& f2) |
bool | operator== (Flags const& f1, FlagsData f2) |
bool | operator== (FlagsData f1, Flags const& f2) |
bool | operator!= (Flags const& f1, Flags const& f2) |
bool | operator!= (Flags const& f1, FlagsData f2) |
bool | operator!= (FlagsData f1, Flags const& f2) |
Additional Inherited Members | |
Protected Attributes inherited from cwchess::FlagsData | |
uint8_t | M_bits |
0TKNQ000, T=can move two squares, K=can take king side, N=is not blocked, Q=can take queen side. | |
Flags representing the state of a piece on the chessboard.
This class is for internal use. You should not need it.