00001
00002
00003
00004 #include "osl/checkmate/immediateCheckmate.tcc"
00005 #include "osl/checkmate/king8Info.h"
00006
00007 namespace osl
00008 {
00009 namespace checkmate
00010 {
00011 template
00012 bool ImmediateCheckmate::
00013 hasCheckmateMove<BLACK>(NumEffectState const&, King8Info, Position, Move&);
00014 template
00015 bool osl::checkmate::ImmediateCheckmate::
00016 hasCheckmateMove<WHITE>(NumEffectState const&, King8Info, Position, Move&);
00017
00018 template
00019 bool ImmediateCheckmate::
00020 hasCheckmateMove<BLACK>(NumEffectState const&, Move&);
00021 template
00022 bool osl::checkmate::ImmediateCheckmate::
00023 hasCheckmateMove<WHITE>(NumEffectState const&, Move&);
00024
00025 template
00026 bool ImmediateCheckmate::
00027 hasCheckmateMove<BLACK>(NumEffectState const&);
00028 template
00029 bool osl::checkmate::ImmediateCheckmate::
00030 hasCheckmateMove<WHITE>(NumEffectState const&);
00031 }
00032 }
00033
00034 bool osl::checkmate::ImmediateCheckmate::
00035 hasCheckmateMove(Player pl,NumEffectState const& state)
00036 {
00037 if(pl==BLACK)
00038 return hasCheckmateMove<BLACK>(state);
00039 else
00040 return hasCheckmateMove<WHITE>(state);
00041
00042 }
00043 bool osl::checkmate::ImmediateCheckmate::
00044 hasCheckmateMove(Player pl,NumEffectState const& state,Move& bestMove)
00045 {
00046 if(pl==BLACK)
00047 return hasCheckmateMove<BLACK>(state,bestMove);
00048 else
00049 return hasCheckmateMove<WHITE>(state,bestMove);
00050 }
00051
00052
00053
00054
00055
00056
00057