osl::eval::ml::King8EffectBase Class Reference

`#include <king8.h>`

Inheritance diagram for osl::eval::ml::King8EffectBase:

## Classes

struct | MakeEffectStateSimple
struct | MakeEffectStateDefense

## Public Types

enum | { DIM = 32 }
enum | EffectState { NOT_EMPTY = -1 , NO_EFFECT = 0 , LESS_EFFECT , MORE_EFFECT , MORE_EFFECT_KING_ONLY }
typedef CArray< int, 32 > | table_t

## Public Member Functions

template<class MakeEffectState>
const osl::CArray< int, 2 > | evalCommon (const NumEffectState &state, const table_t &table)
template<class MakeEffectState>
const osl::CArray< int, 2 > | evalWithUpdateCommon (const NumEffectState &new_state, Move last_move, const CArray< int, 2 > &last_value, const table_t &table)
template<class MakeEffectState>
std::pair< osl::CArray< int, 2 >, osl::CArray< int, 2 > > | evalWithUpdateCommon (const NumEffectState &new_state, Move last_move, const CArray< int, 2 > &last_value_o, const CArray< int, 2 > &last_value_e, const table_t &table_o, const table_t &table_e)

## Static Public Member Functions

template<class MakeEffectState>
static const CArray< int, 2 > | evalCommon (const NumEffectState &state, const table_t &)
template<class MakeEffectState>
static const CArray< int, 2 > | evalWithUpdateCommon (const NumEffectState &new_state, Move last_move, const CArray< int, 2 > &last_value, const table_t &)
template<class MakeEffectState>
static std::pair< CArray< int, 2 >, CArray< int, 2 > > | evalWithUpdateCommon (const NumEffectState &new_state, Move last_move, const CArray< int, 2 > &last_value_opening, const CArray< int, 2 > &last_value_ending, const table_t &, const table_t &)

## Static Protected Member Functions

static int | index (const Direction dir, EffectState state)

## Detailed Description

Definition at line 50 of file core/osl/eval/king8.h.

## Member Typedef Documentation

## table_t

typedef CArray<int, 32> osl::eval::ml::King8EffectBase::table_t

Definition at line 54 of file core/osl/eval/king8.h.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
DIM |

Definition at line 53 of file core/osl/eval/king8.h.

## EffectState

enum osl::eval::ml::King8EffectBase::EffectState

Enumerator
NOT_EMPTY |
NO_EFFECT |
LESS_EFFECT |
MORE_EFFECT |
MORE_EFFECT_KING_ONLY |

Definition at line 55 of file core/osl/eval/king8.h.

## Member Function Documentation

## evalCommon() [1/2]

template<class MakeEffectState>

const CArray< int, 2 > osl::eval::ml::King8EffectBase::evalCommon | ( | const NumEffectState & | state,
|  | const table_t & | )

static

Referenced by osl::eval::ml::King8EffectDefenseSquare< Opening >::eval(), and osl::eval::ml::King8EffectEmptySquare< Opening >::eval().

## evalCommon() [2/2]

template<class MakeEffectState>

const osl::CArray< int, 2 > osl::eval::ml::King8EffectBase::evalCommon | ( | const NumEffectState & | state,
|  | const table_t & | table )

Definition at line 211 of file king8.cc.

References osl::BLACK, index(), NOT_EMPTY, osl::SHORT8_DIRECTION_MAX, osl::SHORT8_DIRECTION_MIN, and osl::WHITE.

## evalWithUpdateCommon() [1/4]

template<class MakeEffectState>

const CArray< int, 2 > osl::eval::ml::King8EffectBase::evalWithUpdateCommon | ( | const NumEffectState & | new_state,
|  | Move | last_move,
|  | const CArray< int, 2 > & | last_value,
|  | const table_t & | )

static

Referenced by osl::eval::ml::King8EffectDefenseSquare< Opening >::evalWithUpdate(), osl::eval::ml::King8EffectDefenseSquareBoth::evalWithUpdate(), osl::eval::ml::King8EffectEmptySquare< Opening >::evalWithUpdate(), and osl::eval::ml::King8EffectEmptySquareBoth::evalWithUpdate().

## evalWithUpdateCommon() [2/4]

template<class MakeEffectState>

const osl::CArray< int, 2 > osl::eval::ml::King8EffectBase::evalWithUpdateCommon | ( | const NumEffectState & | new_state,
|  | Move | last_move,
|  | const CArray< int, 2 > & | last_value,
|  | const table_t & | table )

Definition at line 239 of file king8.cc.

References osl::container::BoardMask::anyInRange(), osl::Board_Mask_Table3x3, osl::NumEffectState::changedEffects(), osl::Move::from(), index(), osl::indexToPlayer(), osl::SimpleState::kingSquare(), NOT_EMPTY, osl::container::BoardMask::set(), osl::SHORT8_DIRECTION_MAX, osl::SHORT8_DIRECTION_MIN, and osl::Move::to().

## evalWithUpdateCommon() [3/4]

template<class MakeEffectState>

std::pair< osl::CArray< int, 2 >, osl::CArray< int, 2 > > osl::eval::ml::King8EffectBase::evalWithUpdateCommon | ( | const NumEffectState & | new_state,
|  | Move | last_move,
|  | const CArray< int, 2 > & | last_value_o,
|  | const CArray< int, 2 > & | last_value_e,
|  | const table_t & | table_o,
|  | const table_t & | table_e )

inline

Definition at line 272 of file king8.cc.

References osl::container::BoardMask::anyInRange(), osl::Board_Mask_Table3x3, osl::NumEffectState::changedEffects(), osl::Move::from(), index(), osl::indexToPlayer(), osl::SimpleState::kingSquare(), NOT_EMPTY, osl::container::BoardMask::set(), osl::SHORT8_DIRECTION_MAX, osl::SHORT8_DIRECTION_MIN, and osl::Move::to().

## evalWithUpdateCommon() [4/4]

template<class MakeEffectState>

std::pair< CArray< int, 2 >, CArray< int, 2 > > osl::eval::ml::King8EffectBase::evalWithUpdateCommon | ( | const NumEffectState & | new_state,
|  | Move | last_move,
|  | const CArray< int, 2 > & | last_value_opening,
|  | const CArray< int, 2 > & | last_value_ending,
|  | const table_t & | ,
|  | const table_t & | )

static

## index()

int osl::eval::ml::King8EffectBase::index | ( | const Direction | dir,
|  | EffectState | state )

inline static protected

Definition at line 78 of file core/osl/eval/king8.h.

Referenced by evalCommon(), evalWithUpdateCommon(), and evalWithUpdateCommon().

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

- core/osl/eval/king8.h
- king8.cc