osl::move_action::EscapeFilter< P, OrigAction > Class Template 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
Public Member Functions | Private Member Functions | Private Attributes | List of all members
osl::move_action::EscapeFilter< P, OrigAction > Class Template Reference

利きのないまたは守りのあるところへ動くためのフィルタ More...

`#include <escapeFilter.h>`

Collaboration diagram for osl::move_action::EscapeFilter< P, OrigAction >:
[legend]

## Public Member Functions
| EscapeFilter (const NumEffectState &s, OrigAction &action, Square pos, Ptype ptype)
void | simpleMove (Square from, Square to, Ptype ptype, bool isPromote, Player, Move m)
void | unknownMove (Square from, Square to, Piece p1, Ptype ptype, bool isPromote, Player, Move m)
void | dropMove (Square to, Ptype ptype, Player, Move)

## Private Member Functions
| BOOST_CLASS_REQUIRE (OrigAction, osl::move_action, Concept)
Piece | findThreat (Square to) const
template<bool IsSimple>
bool | suitable (Square to) const

## Private Attributes
const NumEffectState & | state
OrigAction & | action
PieceMask | attack_pin
PieceMask | defense_pin
Piece | removed
Ptype | attacking
int | value
int | my_value
bool | has_long
bool | has_long_support

## Detailed Description

### template<Player P, class OrigAction>
class osl::move_action::EscapeFilter< P, OrigAction >

利きのないまたは守りのあるところへ動くためのフィルタ

Definition at line 18 of file escapeFilter.h.

## Constructor & Destructor Documentation

template<Player P, class OrigAction >

osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter | ( | const NumEffectState & | s,
|  | OrigAction & | action,
|  | Square | pos,
|  | Ptype | ptype
| ) |  |
| inline

Definition at line 78 of file escapeFilter.h.

References osl::alt(), osl::move_action::EscapeFilter< P, OrigAction >::attacking, osl::eval::PtypeEvalTable::captureValue(), osl::Piece::isPiece(), osl::move_action::EscapeFilter< P, OrigAction >::my_value, osl::newPtypeO(), osl::Piece::owner(), osl::PAWN, osl::Piece::ptype(), osl::PTYPE_EMPTY, osl::eval::Ptype_Eval_Table, osl::move_action::EscapeFilter< P, OrigAction >::removed, osl::move_action::EscapeFilter< P, OrigAction >::state, osl::move_action::EscapeFilter< P, OrigAction >::value, osl::eval::PtypeEvalTable::value(), and osl::WHITE.

## Member Function Documentation

template<Player P, class OrigAction >

osl::move_action::EscapeFilter< P, OrigAction >::BOOST_CLASS_REQUIRE | ( | OrigAction | ,
|  | osl::move_action | ,
|  | Concept |
| ) |  |
| private

template<Player P, class OrigAction >

void osl::move_action::EscapeFilter< P, OrigAction >::dropMove | ( | Square | to,
|  | Ptype | ptype,
|  | Player | ,
|  | Move |
| ) |  |
| inline

Definition at line 103 of file escapeFilter.h.

template<Player P, class OrigAction >

Piece osl::move_action::EscapeFilter< P, OrigAction >::findThreat | ( | Square | to) |  | const
| inlineprivate

Definition at line 29 of file escapeFilter.h.

References osl::alt(), osl::BLACK, osl::Board_Table, osl::Piece::EMPTY(), osl::BoardTable::getLongDirection(), osl::move_action::EscapeFilter< P, OrigAction >::has_long, osl::Piece::isEmpty(), osl::Piece::isEmptyNum(), osl::isLong(), osl::longToShort(), osl::Piece::number(), osl::Piece::owner(), osl::move_action::EscapeFilter< P, OrigAction >::removed, osl::Piece::square(), and osl::move_action::EscapeFilter< P, OrigAction >::state.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::suitable().

template<Player P, class OrigAction >

void osl::move_action::EscapeFilter< P, OrigAction >::simpleMove | ( | Square | from,
|  | Square | to,
|  | Ptype | ptype,
|  | bool | isPromote,
|  | Player | ,
|  | Move | m
| ) |  |
| inline

Definition at line 95 of file escapeFilter.h.

References osl::move_action::EscapeFilter< P, OrigAction >::action.

template<Player P, class OrigAction >
template<bool IsSimple>

bool osl::move_action::EscapeFilter< P, OrigAction >::suitable | ( | Square | to) |  | const
| inlineprivate

Definition at line 48 of file escapeFilter.h.

References osl::alt(), osl::move_action::EscapeFilter< P, OrigAction >::attack_pin, osl::BLACK, osl::Board_Table, osl::ntesuki::capture(), osl::move_action::EscapeFilter< P, OrigAction >::defense_pin, osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), osl::BoardTable::getLongDirection(), osl::move_action::EscapeFilter< P, OrigAction >::has_long_support, osl::Piece::isEmpty(), osl::Piece::isEmptyNum(), osl::isLong(), osl::longToShort(), osl::move_action::EscapeFilter< P, OrigAction >::my_value, osl::newPtypeO(), osl::Piece::number(), osl::Piece::ptype(), osl::PTYPE_EMPTY, osl::eval::Ptype_Eval_Table, osl::move_action::EscapeFilter< P, OrigAction >::removed, osl::Piece::square(), osl::move_action::EscapeFilter< P, OrigAction >::state, osl::move_action::EscapeFilter< P, OrigAction >::value, and osl::WHITE.

template<Player P, class OrigAction >

void osl::move_action::EscapeFilter< P, OrigAction >::unknownMove | ( | Square | from,
|  | Square | to,
|  | Piece | p1,
|  | Ptype | ptype,
|  | bool | isPromote,
|  | Player | ,
|  | Move | m
| ) |  |
| inline

Definition at line 99 of file escapeFilter.h.

References osl::move_action::EscapeFilter< P, OrigAction >::action.

## Member Data Documentation

template<Player P, class OrigAction >

OrigAction& osl::move_action::EscapeFilter< P, OrigAction >::action
| private

Definition at line 22 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::simpleMove(), and osl::move_action::EscapeFilter< P, OrigAction >::unknownMove().

template<Player P, class OrigAction >

PieceMask osl::move_action::EscapeFilter< P, OrigAction >::attack_pin
| private

Definition at line 23 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::suitable().

template<Player P, class OrigAction >

Ptype osl::move_action::EscapeFilter< P, OrigAction >::attacking
| private

Definition at line 25 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter().

template<Player P, class OrigAction >

PieceMask osl::move_action::EscapeFilter< P, OrigAction >::defense_pin
| private

Definition at line 23 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::suitable().

template<Player P, class OrigAction >

bool osl::move_action::EscapeFilter< P, OrigAction >::has_long
| private

Definition at line 27 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::findThreat().

template<Player P, class OrigAction >

bool osl::move_action::EscapeFilter< P, OrigAction >::has_long_support
| private

Definition at line 27 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::suitable().

template<Player P, class OrigAction >

int osl::move_action::EscapeFilter< P, OrigAction >::my_value
| private

Definition at line 26 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter(), and osl::move_action::EscapeFilter< P, OrigAction >::suitable().

template<Player P, class OrigAction >

Piece osl::move_action::EscapeFilter< P, OrigAction >::removed
| private

Definition at line 24 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter(), osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), and osl::move_action::EscapeFilter< P, OrigAction >::suitable().

template<Player P, class OrigAction >

const NumEffectState& osl::move_action::EscapeFilter< P, OrigAction >::state
| private

Definition at line 21 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter(), osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), and osl::move_action::EscapeFilter< P, OrigAction >::suitable().

template<Player P, class OrigAction >

int osl::move_action::EscapeFilter< P, OrigAction >::value
| private

Definition at line 26 of file escapeFilter.h.

Referenced by osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter(), and osl::move_action::EscapeFilter< P, OrigAction >::suitable().

The documentation for this class was generated from the following file:

- escapeFilter.h