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