pieceOnBoard.cc
Go to the documentation of this file.
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     // explicit template instantiation
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   } // namespace move_generator
00019 } // namespace osl
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 // ;;; Local Variables:
00031 // ;;; mode:c++
00032 // ;;; c-basic-offset:2
00033 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines