osl::move_probability::MoveInfo Struct Reference

`#include <moveInfo.h>`

## Public Member Functions

| MoveInfo (const StateInfo &, Move)
int | standIndex (const NumEffectState &state) const
bool | adhocAdjustSlider (const StateInfo &) const
bool | adhocAdjustBishopFork (const StateInfo &) const
bool | adhocAdjustBreakThreatmate (const StateInfo &) const
bool | adhocAdjustAttackCheckmateDefender (const StateInfo &) const
bool | adhocAdjustKeepCheckmateDefender (const StateInfo &) const

## Public Attributes

Move | move
int | see
int | plain_see
bool | check
bool | open_check
Player | player
int | stand_index_cache

## Detailed Description

Definition at line 13 of file moveInfo.h.

## Constructor & Destructor Documentation

## MoveInfo()

osl::move_probability::MoveInfo::MoveInfo | ( | const StateInfo & | info,
|  | Move | m )

Definition at line 11 of file moveInfo.cc.

References adhocAdjustAttackCheckmateDefender(), adhocAdjustBishopFork(), adhocAdjustBreakThreatmate(), adhocAdjustKeepCheckmateDefender(), adhocAdjustSlider(), osl::alt(), check, move, open_check, plain_see, player, see, and stand_index_cache.

## Member Function Documentation

## adhocAdjustAttackCheckmateDefender()

bool osl::move_probability::MoveInfo::adhocAdjustAttackCheckmateDefender | ( | const StateInfo & | info | ) | const

Definition at line 80 of file moveInfo.cc.

References osl::alt(), osl::move_probability::StateInfo::checkmate_defender, osl::NumEffectState::countEffect(), osl::NumEffectState::hasEffectByPiece(), osl::Piece::isPiece(), move, plain_see, player, and osl::move_probability::StateInfo::state.

Referenced by MoveInfo().

## adhocAdjustBishopFork()

bool osl::move_probability::MoveInfo::adhocAdjustBishopFork | ( | const StateInfo & | info | ) | const

Definition at line 46 of file moveInfo.cc.

References osl::alt(), osl::BISHOP, osl::NumEffectState::findCheapAttack(), osl::SimpleState::hasPieceOnStand(), osl::eval::ml::BishopRookFork::isBishopForkSquare(), osl::Square::isPieceStand(), osl::SimpleState::kingSquare(), move, plain_see, player, osl::Piece::ptype(), osl::ROOK, osl::move_probability::StateInfo::state, osl::SimpleState::turn(), and osl::unpromote().

Referenced by MoveInfo().

## adhocAdjustBreakThreatmate()

bool osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate | ( | const StateInfo & | info | ) | const

Definition at line 65 of file moveInfo.cc.

References osl::alt(), osl::NumEffectState::findCheapAttack(), osl::NumEffectState::hasEffectByPiece(), osl::NumEffectState::hasEffectIf(), osl::Move::isNormal(), osl::Piece::isPiece(), move, player, osl::Piece::ptypeO(), osl::move_probability::StateInfo::state, osl::move_probability::StateInfo::threatmate_move, and osl::Move::to().

Referenced by MoveInfo().

## adhocAdjustKeepCheckmateDefender()

bool osl::move_probability::MoveInfo::adhocAdjustKeepCheckmateDefender | ( | const StateInfo & | info | ) | const

Definition at line 93 of file moveInfo.cc.

References osl::move_probability::StateInfo::checkmate_defender, osl::NumEffectState::hasEffectIf(), osl::Piece::isPiece(), move, plain_see, player, osl::Piece::square(), and osl::move_probability::StateInfo::state.

Referenced by MoveInfo().

## adhocAdjustSlider()

bool osl::move_probability::MoveInfo::adhocAdjustSlider | ( | const StateInfo & | info | ) | const

Definition at line 34 of file moveInfo.cc.

References osl::alt(), osl::NumEffectState::findCheapAttack(), osl::NumEffectState::hasEffectByPiece(), move, osl::SimpleState::pieceAt(), osl::move_probability::StateInfo::pinByOpposingSliders(), plain_see, player, osl::Piece::square(), and osl::move_probability::StateInfo::state.

Referenced by MoveInfo().

## standIndex()

int osl::move_probability::MoveInfo::standIndex | ( | const NumEffectState & | state | ) | const

inline

Definition at line 22 of file moveInfo.h.

References osl::SimpleState::countPiecesOnStand(), move, osl::PieceStand::order, osl::PAWN, player, and stand_index_cache.

Referenced by osl::move_probability::KingBlockade::match(), and osl::move_probability::SacrificeAttack::match().

## Member Data Documentation

## check

bool osl::move_probability::MoveInfo::check

Definition at line 17 of file moveInfo.h.

Referenced by osl::move_probability::CheckFeature::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), and MoveInfo().

## move

Move osl::move_probability::MoveInfo::move

Definition at line 15 of file moveInfo.h.

Referenced by osl::move_probability::AddEffectLong::addOne(), osl::move_probability::King5x5Ptype::addOne(), adhocAdjustAttackCheckmateDefender(), adhocAdjustBishopFork(), adhocAdjustBreakThreatmate(), adhocAdjustKeepCheckmateDefender(), adhocAdjustSlider(), osl::move_probability::AddEffectLong::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::BishopAttack::match(), osl::move_probability::BlockLong::match(), osl::move_probability::BlockLongFrom::match(), osl::move_probability::BookMove::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::CheckFeature::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::ContinueCapture::match(), osl::move_probability::CoverFork::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::DropCaptured::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::PatternBase< false >::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::RookAttack::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::SeeFeature::match(), osl::move_probability::SendOff::match(), osl::move_probability::SquareX::match(), osl::move_probability::SquareY::match(), osl::move_probability::TakeBackFeature::match(), osl::move_probability::ThreatmateByCapture::match(), osl::move_probability::ToEffect::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::PawnAttack::matchPtype(), MoveInfo(), and standIndex().

## open_check

bool osl::move_probability::MoveInfo::open_check

Definition at line 17 of file moveInfo.h.

Referenced by osl::move_probability::CheckFeature::checkIndex(), osl::move_probability::CheckFeature::match(), osl::move_probability::EscapeThreatened::match(), and MoveInfo().

## plain_see

int osl::move_probability::MoveInfo::plain_see

Definition at line 16 of file moveInfo.h.

Referenced by adhocAdjustAttackCheckmateDefender(), adhocAdjustBishopFork(), adhocAdjustKeepCheckmateDefender(), adhocAdjustSlider(), and MoveInfo().

## player

Player osl::move_probability::MoveInfo::player

Definition at line 18 of file moveInfo.h.

Referenced by osl::move_probability::AddEffectLong::addOne(), osl::move_probability::King5x5Ptype::addOne(), adhocAdjustAttackCheckmateDefender(), adhocAdjustBishopFork(), adhocAdjustBreakThreatmate(), adhocAdjustKeepCheckmateDefender(), adhocAdjustSlider(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::CheckFeature::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::CoverFork::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::FromEffect::match(), osl::move_probability::FromEffectLong::match(), osl::move_probability::King5x5Ptype::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::PatternBase< false >::match(), osl::move_probability::PawnAttack::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::RookAttack::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::SeeFeature::match(), osl::move_probability::SquareY::match(), osl::move_probability::ToEffectLong::match(), osl::move_probability::PawnAttack::matchPtype(), MoveInfo(), and standIndex().

## see

int osl::move_probability::MoveInfo::see

Definition at line 16 of file moveInfo.h.

Referenced by osl::move_probability::CheckFeature::checkIndex(), osl::move_probability::AttackFromOpposingSliders::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::CapturePtype::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::SeeFeature::match(), osl::move_probability::TakeBackFeature::match(), osl::move_probability::ThreatmateByCapture::match(), and MoveInfo().

## stand_index_cache

int osl::move_probability::MoveInfo::stand_index_cache

mutable

Definition at line 19 of file moveInfo.h.

Referenced by MoveInfo(), and standIndex().

The documentation for this struct was generated from the following files:

- moveInfo.h
- moveInfo.cc