00001 #include "osl/move_generator/pieceOnBoard.h"
00002 #include "osl/move_generator/pieceOnBoard.tcc"
00003 #include "osl/move_action/store.h"
00004 #include "osl/state/simpleState.h"
00005
00006 namespace osl
00007 {
00008 namespace move_generator
00009 {
00010
00011 template void PieceOnBoard<move_action::Store>::generate<BLACK,false>(const NumEffectState&,Piece,move_action::Store&,int);
00012 template void PieceOnBoard<move_action::Store>::generate<WHITE,false>(const NumEffectState&,Piece,move_action::Store&,int);
00013 template void PieceOnBoard<move_action::Store>::generatePtype<BLACK,KING,false>(const NumEffectState&,Piece,move_action::Store&,int);
00014 template void PieceOnBoard<move_action::Store>::generatePtype<WHITE,KING,false>(const NumEffectState&,Piece,move_action::Store&,int);
00015
00016 template void PieceOnBoard<move_action::Store,true>::generate<BLACK,true>(const NumEffectState&,Piece,move_action::Store&,int);
00017 template void PieceOnBoard<move_action::Store,true>::generate<WHITE,true>(const NumEffectState&,Piece,move_action::Store&,int);
00018 }
00019 }
00020
00021 void osl::move_generator::GeneratePieceOnBoard::
00022 generate(Player turn, const NumEffectState& state, Piece target, MoveVector& out)
00023 {
00024 move_action::Store store(out);
00025 if (turn == BLACK)
00026 PieceOnBoard<move_action::Store>::generate<BLACK,false>(state, target, store);
00027 else
00028 PieceOnBoard<move_action::Store>::generate<WHITE,false>(state, target, store);
00029 }
00030
00031
00032
00033