クラス osl::container::PieceMask

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

#include <pieceMask.h>

osl::container::PieceMaskに対する継承グラフ
Inheritance graph
[凡例]
osl::container::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.h31 行で定義されています。


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

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

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

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

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


関数

bool osl::container::PieceMask::any (  )  const [inline]

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

参照先 osl::container::PieceMask32::none().

template<Ptype PTYPE>
void osl::container::PieceMask::clearBit (  )  [inline]

unpromote(PTYPE) の駒のbit を消す

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

参照先 osl::container::PieceMask32::mask, と osl::container::PieceMask32::mutableMask().

void osl::container::PieceMask::flip ( int  num  )  [inline]

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

参照先 mutableMaskNum(), と numToMask().

template<Ptype PTYPE>
const mask_t osl::container::PieceMask::getMask (  )  const [inline]

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

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

参照先 getMask().

参照元 getMask(), と getMaskNum().

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

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

参照先 getMask(), と osl::container::PieceMask32::numToIndex().

参照元 test().

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

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

参照先 osl::container::PieceMask32::mutableMask(), と osl::container::PieceMask32::numToIndex().

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

static const mask_t osl::container::PieceMask::numToMask ( int  num  )  [inline, static]

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

参照先 osl::container::PieceMask32::numToOffset().

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

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

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

参照先 osl::container::PieceMask32::mutableMask().

void osl::container::PieceMask::reset ( int  num  )  [inline]

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

参照先 mutableMaskNum(), と numToMask().

template<Ptype PTYPE>
const mask_t osl::container::PieceMask::selectBit (  )  const [inline]

unpromote(PTYPE) の駒のbit だけ取り出す

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

参照先 osl::container::PieceMask32::mask.

void osl::container::PieceMask::set ( int  num  )  [inline]

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

参照先 mutableMaskNum(), と numToMask().

template<Ptype PTYPE>
void osl::container::PieceMask::setBit (  )  [inline]

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

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

参照先 osl::container::PieceMask32::mask, と osl::container::PieceMask32::mutableMask().

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

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

参照先 osl::container::PieceMask32::mutableMask().

bool osl::container::PieceMask::test ( int  num  )  const [inline]

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

参照先 getMaskNum(), と numToMask().

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

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

参照先 osl::container::PieceMask32::mutableMask().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:57:56 2010に生成されました。  doxygen 1.6.3