3#ifndef OSL_MOVE_CLASSIFIER_MOVE_ADAPTOR_H
4#define OSL_MOVE_CLASSIFIER_MOVE_ADAPTOR_H
10 namespace move_classifier
12 template <
class Classifier>
17 return Classifier::isMember(state, m.
ptype(), m.
from(), m.
to());
21 template <
template <Player>
class Classifier>
24 template <
class State>
27 assert(m.
player() == state.turn());
28 if (state.turn() ==
BLACK)
29 return Classifier<BLACK>::isMember(state, m.
ptype(), m.
from(), m.
to());
31 return Classifier<WHITE>::isMember(state, m.
ptype(), m.
from(), m.
to());
36 template <
template <Player>
class Classifier>
39 template <
class State>
const Square from() const
drop の時は呼べないなどの条件を代わりにテスト
static bool isMember(const State &state, Move m)
static bool isMember(const NumEffectState &state, Move m)
static bool isMember(const State &state, Move m)