]> git.sesse.net Git - stockfish/blobdiff - src/bitboard.h
Introduce variadic make_bitboard()
[stockfish] / src / bitboard.h
index cf948afc7c9398f4b63aa56d79409d34acc7f89c..9fc53ee760dba05673157faaa841b933e61e34f4 100644 (file)
@@ -150,7 +150,17 @@ inline Bitboard file_bb(Square s) {
 }
 
 
-/// shift() moves a bitboard one step along direction D. Mainly for pawns
+/// make_bitboard() returns a bitboard from a list of squares
+
+constexpr Bitboard make_bitboard() { return 0; }
+
+template<typename ...Squares>
+constexpr Bitboard make_bitboard(Square s, Squares... squares) {
+  return (1ULL << s) | make_bitboard(squares...);
+}
+
+
+/// shift() moves a bitboard one step along direction D (mainly for pawns)
 
 template<Direction D>
 constexpr Bitboard shift(Bitboard b) {