Public メソッド | Static Public メソッド | Private メソッド

クラス osl::PieceMask

駒番号のビットセット. [詳細]

#include <pieceMask.h>

osl::PieceMaskに対する継承グラフ
Inheritance graph
[凡例]
osl::PieceMaskのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

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.h20 行で定義されています。


コンストラクタとデストラクタ

osl::PieceMask::PieceMask (  )  [inline]

pieceMask.h23 行で定義されています。

osl::PieceMask::PieceMask ( const PieceMaskBase base  )  [inline]

pieceMask.h24 行で定義されています。


関数

bool osl::PieceMask::any (  )  const [inline]
template<Ptype PTYPE>
void osl::PieceMask::clearBit (  )  [inline]
void osl::PieceMask::flip ( int  num  )  [inline]
template<Ptype PTYPE>
const mask_t osl::PieceMask::getMask (  )  const [inline]

unpromote(PTYPE) の駒のbit を*含む*mask_tを取り出す

pieceMask.h62 行で定義されています。

参照先 getMask().

参照元 osl::effect::NumBitmapEffect::countEffect(), getMask(), getMaskNum(), osl::effect::NumBitmapEffect::hasAny(), と osl::effect::NumBitmapEffect::selectLong().

const mask_t osl::PieceMask::getMask ( int  num  )  const [inline]

pieceMask.h59 行で定義されています。

参照先 getMask().

参照元 osl::checkmate::detail::blockingDiagonalAttack(), osl::move_generator::detail::blockingU(), osl::checkmate::detail::blockingVerticalAttack(), osl::eval::ml::KnightFork::eval(), osl::eval::ml::NonPawnAttackedPtype::eval(), osl::eval::ml::NonPawnAttacked::eval(), osl::eval::ml::NonPawnAttackedPtypePair::evalOne(), osl::eval::ml::KnightFork::evalWithUpdate(), osl::NumEffectState::findAttackAtStrict(), osl::rating::EscapePinGroup::findMatch(), osl::NumEffectState::findThreatenedPiece(), osl::NumEffectState::forEachEffect(), osl::NumEffectState::forEachOnBoardPtypeStrict(), osl::move_generator::detail::generateKnightDir(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDir(), osl::checkmate::detail::hasCheckmateMoveKnight(), osl::NumEffectState::hasEffectAt(), osl::NumEffectState::hasEffectByPtypeStrict(), osl::NumEffectState::hasEffectInDirection(), osl::rating::ImmediateAddSupport::index(), osl::NumEffectState::longEffectAt(), osl::rating::EscapePin::match(), osl::move_probability::ToEffectLong::match(), osl::operator&(), osl::operator<<(), osl::operator==(), osl::operator|(), osl::operator~(), osl::NumEffectState::prologueDrop(), osl::NumEffectState::selectCheapPiece(), osl::ki2::show(), osl::checkmate::detail::slowCheckDrop(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne(), と osl::progress::ml::NewProgress::updatePawnFacing().

const mask_t osl::PieceMask::getMaskNum ( int  num  )  const [inline, private]

pieceMask.h35 行で定義されています。

参照先 getMask().

参照元 test().

mask_t& osl::PieceMask::mutableMaskNum ( int  num  )  [inline, private]

pieceMask.h32 行で定義されています。

参照元 flip(), reset(), と set().

static const mask_t osl::PieceMask::numToMask ( int  num  )  [inline, static]
void osl::PieceMask::orMask ( int  index,
mask_t  val 
) [inline]
void osl::PieceMask::reset ( int  num  )  [inline]
template<Ptype PTYPE>
const mask_t osl::PieceMask::selectBit (  )  const [inline]
void osl::PieceMask::set ( int  num  )  [inline]
template<Ptype PTYPE>
void osl::PieceMask::setBit (  )  [inline]

unpromote(PTYPE) の駒のbit を立てる

pieceMask.h81 行で定義されています。

参照元 osl::eval::ml::BishopRookFork::eval().

void osl::PieceMask::setMask ( int  index,
mask_t  val 
) [inline]

pieceMask.h28 行で定義されています。

参照元 osl::effect::NumBitmapEffect::playerEffect().

bool osl::PieceMask::test ( int  num  )  const [inline]
void osl::PieceMask::xorMask ( int  index,
mask_t  val 
) [inline]

このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義