3 #ifndef OSL_ESCAPE_FILTER_H 
    4 #define OSL_ESCAPE_FILTER_H 
   17     template<Player P,
class OrigAction>
 
   42         attack = 
state.pieceOf(num);
 
   47       template <
bool IsSimple>
 
   64         if (defense_count > attack_count)
 
   66         if (defense_count < attack_count)
 
   75           && 
state.pieceOf(num).owner() == P;
 
   79         : 
state(s), action(action),
 
   89           ptype = 
state.findCheapAttackNotBy(
alt(P), pos, 
state.pinOrOpen(
alt(P))).ptype();
 
   96         if (suitable<true>(to))
 
   97           action.simpleMove(from,to,ptype,isPromote,P,m);
 
  100         if (suitable<false>(to))
 
  101           action.unknownMove(from,to,p1,ptype,isPromote,P,m);
 
  119                     Move(from,to,ptype,captured.
ptype(),isPromote,p));