SSE2も可なのだが,あまり良い方法が見つからない. [詳細]
#include <boardBitMask.h>
Public メソッド | |
BoardBitMask () | |
template<class State > | |
BoardBitMask (State const &st) | |
void | clearAll () |
すべてのビットが0のものを作る | |
void | setAll () |
void | setBit (int offset) |
void | setBit (Position pos) |
void | clearBit (int offset) |
void | clearBit (Position pos) |
bool | isZero () const |
BoardBitMask & | operator= (BoardBitMask const &rhs) |
Static Public メソッド | |
static int | positionToOffset (Position pos) |
0-8 11-19 22-30 33-41 44-52 55-63 66-74 77-85 88-96 でやってみる 香車と角の利きをなんとかするアイデアもあったのだが | |
Public 変数 | |
union { | |
CArray< unsigned long long, 2 > mask | |
CArray< unsigned char, 16 > bMask | |
}; | |
フレンド | |
BoardBitMask & | operator&= (BoardBitMask &lhs, BoardBitMask const &rhs) |
BoardBitMask & | operator^= (BoardBitMask &lhs, BoardBitMask const &rhs) |
BoardBitMask | operator^ (BoardBitMask &src1, BoardBitMask const &src2) |
SSE2も可なのだが,あまり良い方法が見つからない.
boardBitMask.h の 21 行で定義されています。
osl::effect::BoardBitMask::BoardBitMask | ( | ) | [inline] |
boardBitMask.h の 38 行で定義されています。
osl::effect::BoardBitMask::BoardBitMask | ( | State const & | st | ) | [inline, explicit] |
boardBitMask.h の 40 行で定義されています。
参照先 clearAll(), positionToOffset(), と setBit().
void osl::effect::BoardBitMask::clearAll | ( | ) | [inline] |
void osl::effect::BoardBitMask::clearBit | ( | Position | pos | ) | [inline] |
boardBitMask.h の 91 行で定義されています。
参照先 clearBit(), と positionToOffset().
void osl::effect::BoardBitMask::clearBit | ( | int | offset | ) | [inline] |
bool osl::effect::BoardBitMask::isZero | ( | ) | const [inline] |
boardBitMask.h の 94 行で定義されています。
参照先 mask.
BoardBitMask& osl::effect::BoardBitMask::operator= | ( | BoardBitMask const & | rhs | ) | [inline] |
boardBitMask.h の 97 行で定義されています。
参照先 mask.
static int osl::effect::BoardBitMask::positionToOffset | ( | Position | pos | ) | [inline, static] |
0-8 11-19 22-30 33-41 44-52 55-63 66-74 77-85 88-96 でやってみる 香車と角の利きをなんとかするアイデアもあったのだが
boardBitMask.h の 62 行で定義されています。
参照先 osl::Position::isOnBoard(), osl::Position::x(), と osl::Position::y().
参照元 BoardBitMask(), clearBit(), osl::effect::BoardBitMaskTable::initMaskOfPosition(), と setBit().
void osl::effect::BoardBitMask::setAll | ( | ) | [inline] |
boardBitMask.h の 54 行で定義されています。
参照先 mask.
void osl::effect::BoardBitMask::setBit | ( | Position | pos | ) | [inline] |
boardBitMask.h の 78 行で定義されています。
参照先 positionToOffset(), と setBit().
void osl::effect::BoardBitMask::setBit | ( | int | offset | ) | [inline] |
offset(0-96) | - bitをセットする |
boardBitMask.h の 71 行で定義されています。
参照先 mask.
参照元 BoardBitMask(), osl::effect::setBetweenMask(), と setBit().
BoardBitMask& operator&= | ( | BoardBitMask & | lhs, | |
BoardBitMask const & | rhs | |||
) | [friend] |
BoardBitMask operator^ | ( | BoardBitMask & | src1, | |
BoardBitMask const & | src2 | |||
) | [friend] |
BoardBitMask& operator^= | ( | BoardBitMask & | lhs, | |
BoardBitMask const & | rhs | |||
) | [friend] |
boardBitMask.h の 113 行で定義されています。
union { ... } |
CArray<unsigned char,16> osl::effect::BoardBitMask::bMask |
boardBitMask.h の 31 行で定義されています。
CArray<unsigned long long,2> osl::effect::BoardBitMask::mask |
boardBitMask.h の 30 行で定義されています。
参照元 clearAll(), clearBit(), isZero(), operator=(), osl::effect::operator^(), osl::effect::operator^=(), setAll(), と setBit().