駒番号のビットセット. [詳細]
#include <pieceMask.h>
Public メソッド | |
PieceMask () | |
PieceMask (const PieceMaskBase &base) | |
void | setMask (int index, mask_t val) |
void | xorMask (int index, mask_t val) |
void | orMask (int index, mask_t val) |
bool | test (int num) const |
void | set (int num) |
void | flip (int num) |
void | reset (int num) |
bool | any () const |
const mask_t | getMask (int num) const |
template<Ptype PTYPE> | |
const mask_t | getMask () const |
unpromote(PTYPE) の駒のbit を*含む*mask_tを取り出す | |
template<Ptype PTYPE> | |
const mask_t | selectBit () const |
unpromote(PTYPE) の駒のbit だけ取り出す | |
template<Ptype PTYPE> | |
void | clearBit () |
unpromote(PTYPE) の駒のbit を消す | |
template<Ptype PTYPE> | |
void | setBit () |
unpromote(PTYPE) の駒のbit を立てる | |
Static Public メソッド | |
static const mask_t | numToMask (int num) |
Private メソッド | |
mask_t & | mutableMaskNum (int num) |
const mask_t | getMaskNum (int num) const |
駒番号のビットセット.
64bitのMask64を一つもしくは,32bitのMask32を2枚で表現する. 各メソッドの変数名は num は駒番号に, index はマスクのID(0-1)に用いられている.
pieceMask.h の 31 行で定義されています。
osl::container::PieceMask::PieceMask | ( | ) | [inline] |
pieceMask.h の 34 行で定義されています。
osl::container::PieceMask::PieceMask | ( | const PieceMaskBase & | base | ) | [inline] |
pieceMask.h の 35 行で定義されています。
bool osl::container::PieceMask::any | ( | ) | const [inline] |
pieceMask.h の 68 行で定義されています。
void osl::container::PieceMask::clearBit | ( | ) | [inline] |
unpromote(PTYPE) の駒のbit を消す
pieceMask.h の 85 行で定義されています。
参照先 osl::container::PieceMask32::mask, と osl::container::PieceMask32::mutableMask().
void osl::container::PieceMask::flip | ( | int | num | ) | [inline] |
pieceMask.h の 62 行で定義されています。
参照先 mutableMaskNum(), と numToMask().
const mask_t osl::container::PieceMask::getMask | ( | ) | const [inline] |
unpromote(PTYPE) の駒のbit を*含む*mask_tを取り出す
pieceMask.h の 73 行で定義されています。
参照先 getMask().
参照元 getMask(), と getMaskNum().
const mask_t osl::container::PieceMask::getMask | ( | int | num | ) | const [inline] |
osl::container::PieceMask32を再定義しています。
pieceMask.h の 70 行で定義されています。
参照先 getMask().
参照元 osl::container::operator&(), osl::container::operator<<(), osl::container::operator==(), osl::container::operator|(), と osl::container::operator~().
const mask_t osl::container::PieceMask::getMaskNum | ( | int | num | ) | const [inline, private] |
pieceMask.h の 46 行で定義されています。
参照先 getMask(), と osl::container::PieceMask32::numToIndex().
参照元 test().
mask_t& osl::container::PieceMask::mutableMaskNum | ( | int | num | ) | [inline, private] |
pieceMask.h の 43 行で定義されています。
参照先 osl::container::PieceMask32::mutableMask(), と osl::container::PieceMask32::numToIndex().
static const mask_t osl::container::PieceMask::numToMask | ( | int | num | ) | [inline, static] |
pieceMask.h の 36 行で定義されています。
void osl::container::PieceMask::orMask | ( | int | index, | |
mask_t | val | |||
) | [inline] |
pieceMask.h の 53 行で定義されています。
void osl::container::PieceMask::reset | ( | int | num | ) | [inline] |
pieceMask.h の 65 行で定義されています。
参照先 mutableMaskNum(), と numToMask().
const mask_t osl::container::PieceMask::selectBit | ( | ) | const [inline] |
void osl::container::PieceMask::set | ( | int | num | ) | [inline] |
pieceMask.h の 59 行で定義されています。
参照先 mutableMaskNum(), と numToMask().
void osl::container::PieceMask::setBit | ( | ) | [inline] |
unpromote(PTYPE) の駒のbit を立てる
pieceMask.h の 92 行で定義されています。
参照先 osl::container::PieceMask32::mask, と osl::container::PieceMask32::mutableMask().
void osl::container::PieceMask::setMask | ( | int | index, | |
mask_t | val | |||
) | [inline] |
pieceMask.h の 39 行で定義されています。
bool osl::container::PieceMask::test | ( | int | num | ) | const [inline] |
pieceMask.h の 56 行で定義されています。
参照先 getMaskNum(), と numToMask().
void osl::container::PieceMask::xorMask | ( | int | index, | |
mask_t | val | |||
) | [inline] |
pieceMask.h の 50 行で定義されています。