My Project
|
#include <mask.h>
Public Member Functions | |
GeneralMask () | |
GeneralMask & | operator&= (const GeneralMask &r) |
GeneralMask & | operator|= (const GeneralMask &r) |
GeneralMask & | operator^= (const GeneralMask &r) |
GeneralMask & | operator-= (const GeneralMask &r) |
GeneralMask & | operator+= (const GeneralMask &r) |
GeneralMask & | operator<<= (int shift) |
GeneralMask & | operator>>= (int shift) |
const GeneralMask | operator~ () const |
int | bsf () const |
int | bsr () const |
int | takeOneBit () |
non-zeroのmaskのsetされているビットをLSBから探し,その番号を返す 副作用としてmaskの対応するビットをクリアする | |
bool | hasMultipleBit () const |
non-zeroのmaskが複数ビットセットされているかどうかを返す. | |
int | countBit2 () const |
non-zeroのmaskにセットされているビットの数を2まで数える. | |
int | countBit () const |
mask にセットされているビットの数を数える. あまり速くない. | |
GeneralMask | lowestBit () const |
non-zeroのmaskのsetされているビットをLSBから探し,そのビットだけがsetされたmaskを返す. | |
bool | none () const |
bool | any () const |
Integer | value () const |
Static Public Member Functions | |
static const GeneralMask | makeDirect (Integer value) |
Private Member Functions | |
GeneralMask (Integer value) | |
Private Attributes | |
Integer | mask |
|
inlineprivate |
|
inline |
Definition at line 218 of file mask.h.
Referenced by osl::misc::GeneralMask< Integer >::makeDirect(), and osl::misc::GeneralMask< Integer >::operator~().
|
inline |
Definition at line 298 of file mask.h.
References osl::misc::GeneralMask< Integer >::none().
Referenced by osl::checkmate::OracleAdjust::attack(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::move_probability::BlockLong::findAll(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::NumEffectState::findThreatenedPiece(), osl::NumEffectState::forEachEffect(), osl::NumEffectState::forEachOnBoard(), osl::NumEffectState::forEachOnBoardPtypeStrict(), osl::NumEffectState::hasEffectByPtype(), osl::NumEffectState::hasEffectByPtypeStrict(), osl::NumEffectState::hasEffectInDirection(), osl::effect::NumBitmapEffect::hasLong(), osl::NumEffectState::hasLongEffectAt(), osl::rating::ImmediateAddSupport::index(), osl::rating::Threatmate::isCandidate(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_probability::MoveFromOpposingSliders::longPtype(), osl::checkmate::King8Info::make(), osl::move_probability::FromEffectLong::match(), osl::move_probability::PromotionBySacrifice::match(), osl::NumEffectState::prologueDrop(), osl::NumEffectState::selectCheapPiece(), osl::ki2::show(), and osl::progress::ml::NewProgress::updatePawnFacing().
|
inline |
Definition at line 257 of file mask.h.
References osl::misc::BitOp::bsf(), and osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::NumEffectState::hasEffectAt(), osl::NumEffectState::prologueDrop(), and osl::NumEffectState::selectCheapPiece().
|
inline |
Definition at line 258 of file mask.h.
References osl::misc::BitOp::bsr(), and osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::NumEffectState::findThreatenedPiece().
|
inline |
mask にセットされているビットの数を数える. あまり速くない.
Definition at line 290 of file mask.h.
References osl::misc::BitOp::countBit(), and osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::container::PieceMask64::countBit(), and osl::ki2::show().
|
inline |
non-zeroのmaskにセットされているビットの数を2まで数える.
mask | - 対象とするデータ(non-zero) |
Definition at line 278 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::container::PieceMask64::countBit2().
|
inline |
non-zeroのmaskが複数ビットセットされているかどうかを返す.
mask | - 対象とするデータ(non-zero) |
Definition at line 272 of file mask.h.
References osl::misc::BitOp::hasMultipleBit(), and osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::NumEffectState::hasEffectAt(), and osl::container::PieceMask64::hasMultipleBit().
|
inline |
non-zeroのmaskのsetされているビットをLSBから探し,そのビットだけがsetされたmaskを返す.
mask | - 対象とするデータ(non-zero) |
Definition at line 296 of file mask.h.
References osl::misc::BitOp::lowestBit(), and osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::NumEffectState::prologueDrop().
|
inlinestatic |
Definition at line 219 of file mask.h.
References osl::misc::GeneralMask< Integer >::GeneralMask(), and osl::misc::GeneralMask< Integer >::value().
Referenced by osl::effect::NumBitmapEffect::countEffect(), osl::effect::NumBitmapEffect::hasAny(), osl::NumEffectState::hasEffectInDirection(), osl::PtypeTable::initPtypeSub(), osl::effect::NumBitmapEffect::longEffectMask(), osl::effect::NumBitmapEffect::makeLongMask(), osl::PieceMask::numToMask(), osl::effect::NumBitmapEffect::playerEffect(), osl::effect::NumBitmapEffect::playerEffectMask(), osl::container::PieceMask64::resetAll(), osl::PieceMask::selectBit(), osl::effect::NumBitmapEffect::selectLong(), osl::container::PieceMask64::setAll(), and osl::PieceMask::setBit().
|
inline |
Definition at line 297 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::misc::GeneralMask< Integer >::any(), osl::NumEffectState::findAttackAt(), osl::NumEffectState::findAttackAtStrict(), osl::NumEffectState::hasEffectAt(), osl::NumEffectState::hasEffectAt(), osl::NumEffectState::hasEffectAt(), osl::container::PieceMask64::none(), and osl::NumEffectState::selectCheapPiece().
|
inline |
Definition at line 220 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 240 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 235 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 245 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 250 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 230 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 225 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
|
inline |
Definition at line 255 of file mask.h.
References osl::misc::GeneralMask< Integer >::GeneralMask(), and osl::misc::GeneralMask< Integer >::mask.
|
inline |
non-zeroのmaskのsetされているビットをLSBから探し,その番号を返す 副作用としてmaskの対応するビットをクリアする
mask | - 対象とするデータ(non-zero) |
Definition at line 265 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask, and osl::misc::BitOp::takeOneBit().
Referenced by osl::checkmate::OracleAdjust::attack(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::move_probability::BlockLong::findAll(), osl::NumEffectState::findAttackAt(), osl::NumEffectState::findAttackAtStrict(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::NumEffectState::forEachEffect(), osl::NumEffectState::forEachOnBoard(), osl::NumEffectState::forEachOnBoardPtypeStrict(), osl::NumEffectState::hasEffectInDirection(), osl::rating::ImmediateAddSupport::index(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_probability::MoveFromOpposingSliders::longPtype(), osl::checkmate::King8Info::make(), osl::move_probability::PromotionBySacrifice::match(), osl::ki2::show(), osl::container::PieceMask64::takeOneBit(), and osl::progress::ml::NewProgress::updatePawnFacing().
|
inline |
Definition at line 299 of file mask.h.
References osl::misc::GeneralMask< Integer >::mask.
Referenced by osl::effect::NumBitmapEffect::countEffect(), osl::misc::GeneralMask< Integer >::makeDirect(), osl::misc::operator<(), osl::misc::operator<<(), osl::operator<<(), and osl::misc::operator==().
|
private |
Definition at line 214 of file mask.h.
Referenced by osl::misc::GeneralMask< Integer >::bsf(), osl::misc::GeneralMask< Integer >::bsr(), osl::misc::GeneralMask< Integer >::countBit(), osl::misc::GeneralMask< Integer >::countBit2(), osl::misc::GeneralMask< Integer >::hasMultipleBit(), osl::misc::GeneralMask< Integer >::lowestBit(), osl::misc::GeneralMask< Integer >::none(), osl::misc::GeneralMask< Integer >::operator&=(), osl::misc::GeneralMask< Integer >::operator+=(), osl::misc::GeneralMask< Integer >::operator-=(), osl::misc::GeneralMask< Integer >::operator<<=(), osl::misc::GeneralMask< Integer >::operator>>=(), osl::misc::GeneralMask< Integer >::operator^=(), osl::misc::GeneralMask< Integer >::operator|=(), osl::misc::GeneralMask< Integer >::operator~(), osl::misc::GeneralMask< Integer >::takeOneBit(), and osl::misc::GeneralMask< Integer >::value().