1 #ifndef OSL_MOVE_GENERATER_ADD_EFFECT_WITH_EFFECT_H 
    2 #define OSL_MOVE_GENERATER_ADD_EFFECT_WITH_EFFECT_H 
    7 #include <boost/static_assert.hpp> 
   11   namespace move_generator
 
   28     template<
class Action>
 
   32       template<Player P,
bool isAttackToKing>
 
   33       static void generate(
const NumEffectState& state,
Square target,Action& action,
bool& hasPawnCheckmate);
 
   34       template<Player P,
bool isAttackToKing>
 
   35       static void generate(
const NumEffectState& state,
Square target,Action& action){
 
   37         generate<P,isAttackToKing>(state,
target,action,dummy);
 
   46       template<
bool isAttackToKing>
 
   49       template<
bool isAttackToKing>
 
   57       template<
bool isAttackToKing>
 
   60         generate<isAttackToKing>(player,state,
target,
out,dummy);