A one-boolean-per-square chessboard. More...
#include <BitBoard.h>

Public Member Functions | |
Constructors | |
| BitBoard () | |
| Construct an uninitialized BitBoard. | |
| BitBoard (BitBoard const& other) | |
| Construct a BitBoard from another BitBoard. | |
| BitBoard (Index const& index) | |
| Construct a BitBoard with a single bit set at index. | |
| BitBoard (BitBoardData data) | |
| Construct a BitBoard from a constant. | |
| BitBoard (int col, int row) | |
| Construct a BitBoard with a single bit set at col, row. | |
| BitBoard (mask_t bitmask) | |
| Construct a BitBoard from a constant or mask (for internal use only). | |
Assignment operators | |
| BitBoard& | operator= (BitBoard const& bitboard) |
| Assignment from other BitBoard. | |
| BitBoard& | operator= (BitBoardData bitboard) |
| Assignment from a constant. | |
Initialization | |
| void | reset () |
| Set all values to FALSE. | |
| void | set () |
| Set all values to TRUE. | |
Bit fiddling | |
| void | reset (int col, int row) |
| Reset the bit at col, row. | |
| void | reset (Index const& index) |
| Reset the bit at index. | |
| void | reset (mask_t mask) |
| Reset the bits from mask. | |
| void | reset (BitBoardData bitboard) |
| Reset the bits from bitboard. | |
| void | reset (BitBoard const& bitboard) |
| Reset the bits from bitboard. | |
| void | set (int col, int row) |
| Set the bit at col, row. | |
| void | set (Index const& index) |
| Set the bit at index. | |
| void | set (mask_t mask) |
| Set the bits from mask. | |
| void | set (BitBoardData bitboard) |
| Set the bits from bitboard. | |
| void | set (BitBoard const& bitboard) |
| Set the bits from bitboard. | |
| void | toggle (int col, int row) |
| Toggle the bit at col, row. | |
| void | toggle (Index const& index) |
| Toggle the bit at index. | |
| void | toggle (mask_t mask) |
| Toggle the bits from mask. | |
| void | toggle (BitBoardData bitboard) |
| Toggle the bits from bitboard. | |
| void | toggle (BitBoard const& bitboard) |
| Toggle the bits from bitboard. | |
Accessors | |
| bool | test () const |
| Test if any bit is set at all. | |
| bool | test (int col, int row) const |
| Test if the bit at col, row is set. | |
| bool | test (Index const& index) const |
| Test if the bit at index is set. | |
| bool | test (mask_t mask) const |
| Test if any bit in mask is set. | |
| bool | test (BitBoardData bitboard) const |
| Test if any bit in bitboard is set. | |
| bool | test (BitBoard const& bitboard) const |
| Test if any bit in bitboard is set. | |
| BitBoard | operator~ () const |
| Return the inverse of the bitboard. | |
| operator void* () const | |
| Return TRUE if the bitboard is not empty. | |
| mask_t | operator() () const |
| Return the underlaying bitmask. | |
Friends | |
Comparison operators | |
| bool | operator== (BitBoard const& b1, BitBoard const& b2) |
| bool | operator== (BitBoard const& b1, BitBoardData b2) |
| bool | operator== (BitBoardData b1, BitBoard const& b2) |
| bool | operator!= (BitBoard const& b1, BitBoard const& b2) |
| bool | operator!= (BitBoard const& b1, BitBoardData b2) |
| bool | operator!= (BitBoardData b1, BitBoard const& b2) |
Bit-wise OR operators with another BitBoard | |
| BitBoard& | operator|= (BitBoard const& bitboard) |
| BitBoard& | operator|= (BitBoardData bitboard) |
| BitBoard& | operator|= (mask_t bitmask) |
| BitBoard | operator| (BitBoard const& bitboard1, BitBoard const& bitboard2) |
| BitBoard | operator| (BitBoard const& bitboard1, BitBoardData bitboard2) |
| BitBoard | operator| (BitBoardData bitboard1, BitBoard const& bitboard2) |
Bit-wise AND operators with another BitBoard | |
| BitBoard& | operator&= (BitBoard const& bitboard) |
| BitBoard& | operator&= (BitBoardData bitboard) |
| BitBoard& | operator&= (mask_t bitmask) |
| BitBoard | operator& (BitBoard bitboard1, BitBoard bitboard2) |
| BitBoard | operator& (BitBoard bitboard1, BitBoardData bitboard2) |
| BitBoard | operator& (BitBoardData bitboard1, BitBoard bitboard2) |
Bit-wise XOR operators with another BitBoard | |
| BitBoard& | operator^= (BitBoard const& bitboard) |
| BitBoard& | operator^= (BitBoardData bitboard) |
| BitBoard& | operator^= (mask_t bitmask) |
| BitBoard | operator^ (BitBoard bitboard1, BitBoard bitboard2) |
| BitBoard | operator^ (BitBoard bitboard1, BitBoardData bitboard2) |
| BitBoard | operator^ (BitBoardData bitboard1, BitBoard bitboard2) |
Additional Inherited Members | |
Protected Attributes inherited from cwchess::BitBoardData | |
| mask_t | M_bitmask |
| A one-bit-per-square chessboard mask. More... | |
A one-boolean-per-square chessboard.
This class defines the interface for access to the bit-board.
Normally one should be hidden from the bit-level implemention (mask_t thus). Instead use BitBoardData constant:
a1 , ..., h8
file_a , ..., file_h
rank_1 , ..., rank_8
and others.
Definition at line 266 of file BitBoard.h.