Bruno BELANYI
585c127381
Statically assert zero-cost invariants
...
Since some or all of those invariants will come in handy to ensure we
use as little memory as possible, to maximize the speed of the move
generation later on.
2024-04-01 22:20:39 +01:00
Bruno BELANYI
643b688384
Add 'Bitboard::{LIGHT,DARK}_SQUARES
2024-04-01 22:20:39 +01:00
Bruno BELANYI
f66b0276d8
Add 'Bitboard::is_empty'
2024-04-01 22:20:39 +01:00
Bruno BELANYI
dc974ec0e9
Add 'Bitboard::{ANTI_,}DIAGONAL'
2024-04-01 22:20:39 +01:00
Bruno BELANYI
8261b0c06b
Add 'Bitboard::count'
2024-04-01 22:20:39 +01:00
Bruno BELANYI
47b1854669
Introduce 'Bitboard::ALL'
2024-04-01 22:20:39 +01:00
Bruno BELANYI
a0fcf3285c
Add bitboard iteration
...
Introduce 'BitboardIterator', use it to implement 'IntoIterator' for
'Bitboard'.
2024-04-01 22:20:39 +01:00
Bruno BELANYI
f4a92c0681
Move 'board::bitboard' into folder module
...
I will be adding a 'BitboardIterator' type, and it makes more sense to
use a folder for this module at this point.
2024-04-01 22:20:39 +01:00