61 template <Ptype PTYPE>
65 template <Ptype PTYPE>
68 mask_t
mask = getMask<PTYPE>();
73 template <Ptype PTYPE>
80 template <Ptype PTYPE>
105 std::ostream&
operator<<(std::ostream& os,PieceMask
const& pieceMask);
const mask_t getMask() const
unpromote(PTYPE) の駒のbit を*含む*mask_tを取り出す
void setMask(int index, mask_t val)
const mask_t getMask(int num) const
void clearBit()
unpromote(PTYPE) の駒のbit を消す
const mask_t getMaskNum(int num) const
void orMask(int index, mask_t val)
void xorMask(int index, mask_t val)
void setBit()
unpromote(PTYPE) の駒のbit を立てる
mask_t & mutableMaskNum(int num)
static const mask_t numToMask(int num)
const mask_t selectBit() const
unpromote(PTYPE) の駒のbit だけ取り出す
PieceMask(const PieceMaskBase &base)
static int numToIndex(int)
static int numToOffset(int num)
misc::Mask64 & mutableMask(int)
const misc::Mask64 & getMask(int) const
const PieceMask operator&(const PieceMask &m1, const PieceMask &m2)
const PieceMask operator~(const PieceMask &m1)
bool operator!=(Offset l, Offset r)
const PieceMask operator|(const PieceMask &m1, const PieceMask &m2)
PieceMask64 PieceMaskBase
std::ostream & operator<<(std::ostream &os, Player player)
bool operator==(Square l, Square r)