osl::eval::See Struct Reference

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Static Public Member Functions | List of all members
osl::eval::See Struct Reference

`#include <see.h>`

## Classes
struct | FindEffectMore

## Public Member Functions
template<osl::Player P>
void | findEffectPieces (const NumEffectState &state, Square effect_to, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
template<osl::Player P>
void | findEffectPiecesAfterMove (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
template<osl::Player P>
int | computeValue (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces, const PieceMask &my_pin, const PieceMask &op_pin, const eval::PtypeEvalTable &table)
template<osl::Player P>
int | seeInternal (const NumEffectState &state, Move move, const PieceMask &my_pin, const PieceMask &op_pin, const eval::PtypeEvalTable &table)

## Static Public Member Functions
static int | see (const NumEffectState &state, Move move, const PieceMask &my_pin=PieceMask(), const PieceMask &op_pin=PieceMask(), const PtypeEvalTable *table=0)
template<Player P>
static int | seeInternal (const NumEffectState &state, Move move, const PieceMask &my_pin, const PieceMask &op_pin, const PtypeEvalTable &table)
template<Player P>
static void | findEffectPieces (const NumEffectState &state, Square effect_to, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
template<osl::Player P>
static void | findEffectPiecesAfterMove (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
static void | findAdditionalPieces (const NumEffectState &state, Player attack, Square target, Square direct_attack_from, PtypeOSquareVector &out)
template<Player P>
static int | computeValue (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces, const PieceMask &my_pin, const PieceMask &op_pin, const PtypeEvalTable &table)
| PtypeOSquareVector をもとに取り返し値を計算する More...

## Detailed Description

Definition at line 13 of file see.h.

## Member Function Documentation

template<Player P>

static int osl::eval::See::computeValue | ( | const NumEffectState & | state,
|  | Move | move,
|  | PtypeOSquareVector & | my_pieces,
|  | PtypeOSquareVector & | op_pieces,
|  | const PieceMask & | my_pin,
|  | const PieceMask & | op_pin,
|  | const PtypeEvalTable & | table
| ) |  |
| static

PtypeOSquareVector をもとに取り返し値を計算する

Parameters

  P | alt(P) からの取り返し
  target | ここに関する取り返し
  ptypeo | target にあると想定される駒

template<osl::Player P>

int osl::eval::See::computeValue | ( | const NumEffectState & | state,
|  | Move | move,
|  | PtypeOSquareVector & | my_pieces,
|  | PtypeOSquareVector & | op_pieces,
|  | const PieceMask & | my_pin,
|  | const PieceMask & | op_pin,
|  | const eval::PtypeEvalTable & | table
| ) |  |

Definition at line 112 of file see.cc.

References osl::canPromote(), osl::Square::canPromote(), osl::eval::PtypeEvalTable::captureValue(), osl::Move::from(), osl::KING, osl::eval::max(), osl::newPtypeO(), osl::Piece::number(), osl::Piece::owner(), osl::promote(), osl::eval::PtypeEvalTable::promoteValue(), osl::Move::ptypeO(), osl::Piece::square(), target, and osl::Move::to().

void osl::eval::See::findAdditionalPieces | ( | const NumEffectState & | state,
|  | Player | attack,
|  | Square | target,
|  | Square | direct_attack_from,
|  | PtypeOSquareVector & | out
| ) |  |
| static

Definition at line 274 of file see.cc.

References osl::Board_Table, osl::PtypeTable::getEffect(), osl::BoardTable::getShortOffsetNotKnight(), osl::EffectContent::hasEffect(), osl::Piece::isPiece(), osl::Piece::owner(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::Piece::square(), and osl::Offset::zero().

Referenced by osl::eval::See::FindEffectMore::store().

template<Player P>

static void osl::eval::See::findEffectPieces | ( | const NumEffectState & | state,
|  | Square | effect_to,
|  | PtypeOSquareVector & | my_pieces,
|  | PtypeOSquareVector & | op_pieces
| ) |  |
| static

template<osl::Player P>

void osl::eval::See::findEffectPieces | ( | const NumEffectState & | state,
|  | Square | effect_to,
|  | PtypeOSquareVector & | my_pieces,
|  | PtypeOSquareVector & | op_pieces
| ) |  |

Definition at line 30 of file see.cc.

template<osl::Player P>

static void osl::eval::See::findEffectPiecesAfterMove | ( | const NumEffectState & | state,
|  | Move | move,
|  | PtypeOSquareVector & | my_pieces,
|  | PtypeOSquareVector & | op_pieces
| ) |  |
| static

template<osl::Player P>

void osl::eval::See::findEffectPiecesAfterMove | ( | const NumEffectState & | state,
|  | Move | move,
|  | PtypeOSquareVector & | my_pieces,
|  | PtypeOSquareVector & | op_pieces
| ) |  |

Definition at line 66 of file see.cc.

References osl::Move::from(), osl::Piece::number(), osl::Move::player(), osl::Piece::square(), and osl::Move::to().

int osl::eval::See::see | ( | const NumEffectState & | state,
|  | Move | move,
|  | const PieceMask & | my_pin = `PieceMask()`,
|  | const PieceMask & | op_pin = `PieceMask()`,
|  | const PtypeEvalTable * | table = `0`
| ) |  |
| static

Definition at line 261 of file see.cc.

References osl::BLACK, osl::Move::player(), and osl::eval::Ptype_Eval_Table.

template<Player P>

static int osl::eval::See::seeInternal | ( | const NumEffectState & | state,
|  | Move | move,
|  | const PieceMask & | my_pin,
|  | const PieceMask & | op_pin,
|  | const PtypeEvalTable & | table
| ) |  |
| static

template<osl::Player P>

int osl::eval::See::seeInternal | ( | const NumEffectState & | state,
|  | Move | move,
|  | const PieceMask & | my_pin,
|  | const PieceMask & | op_pin,
|  | const eval::PtypeEvalTable & | table
| ) |  |

Definition at line 237 of file see.cc.

References osl::eval::PieceEval::diffWithMove(), osl::Move::from(), and osl::Move::to().

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

- see.h
- see.cc