3 #ifndef _GENERATECAPTUREMOVES_TCC 
    4 #define _GENERATECAPTUREMOVES_TCC 
   14   namespace move_generator
 
   16     using namespace effect_action;
 
   19       template<Player P,
class Action>
 
   22         Piece p1=state.pieceAt(target);
 
   24           int num=pieces.takeOneBit();
 
   25           Piece p=state.pieceOf(num);
 
   26           if(state.pinOrOpen(P).test(num) && !state.pinnedCanMoveTo<P>(p,
target))
 
   33     template<
class Action>
 
   39       PieceMask pieces=state.piecesOnBoard(P)&state.effectSetAt(target);
 
   40       capture::generate<P,Action>(state,
target,action,pieces);
 
   43     template<
class Action>
 
   48       PieceMask pieces=state.piecesOnBoard(P)&state.effectSetAt(target);
 
   49       pieces.reset(piece.
number());
 
   50       capture::generate<P,Action>(state,
target,action,pieces);
 
   56 template<
class Action>
 
   57 template<osl::Player P>
 
   62   Piece move = state.findCheapAttackNotBy(P, target, state.pinOrOpen(P));
 
   64     move = state.findCheapAttack(P, target);
 
   67       (state,move,target,state.pieceAt(target),action);