All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
immediateCheckmate.h
Go to the documentation of this file.
1 /* immediateCheckmate.h
2  */
3 #ifndef _CHECKMATE_IMMEDIATE_CHECKMATE_H
4 #define _CHECKMATE_IMMEDIATE_CHECKMATE_H
7 #include "osl/move.h"
8 
9 namespace osl
10 {
11  namespace checkmate
12  {
14  {
15  private:
16  template<Player P,bool setBestMove>
17  static bool hasCheckmateDrop(NumEffectState const& state,Square target,
18  King8Info mask,Move& bestMove);
19 
20  public:
21  template<Player P,bool setBestMove>
22  static bool slowHasCheckmateMoveDirPiece(NumEffectState const& state,Square target,
23  King8Info mask,Direction d,Square pos,Piece p,Ptype ptype,Move& bestMove);
24 
25  template<Player P,bool setBestMove>
26  static bool hasCheckmateMoveDirPiece(NumEffectState const& state,Square target,
27  King8Info mask,Direction d,Square pos,Piece p,Move& bestMove);
28 
29  template<Player P,bool setBestMove>
30  static bool hasCheckmateMoveDir(NumEffectState const& state,Square target,
31  King8Info mask,Direction d,Move& bestMove);
32 
33  template<Player P,bool setBestMove>
34  static bool hasCheckmateMove(NumEffectState const& state,Square target,
35  King8Info mask,Move& bestMove);
36 
45  template<Player P>
46  static bool hasCheckmateMove(NumEffectState const& state);
47  template<Player P>
48  static bool hasCheckmateMove(NumEffectState const& state, King8Info);
49 
59  template<Player P>
60  static bool hasCheckmateMove(NumEffectState const& state,Move &bestMove);
61  template<Player P>
62  static bool hasCheckmateMove(NumEffectState const& state,
63  King8Info canMoveMask,
64  Square king, Move& bestMove);
68  static bool hasCheckmateMove(Player pl,NumEffectState const& state);
69  static bool hasCheckmateMove(Player pl,NumEffectState const& state,Move& bestMove);
70 
71  };
72  } // namespace checkmate
74 } // namespace osl
75 #endif /* _CHECKMATE_IMMEDIATE_CHECKMATE_H */
76 // ;;; Local Variables:
77 // ;;; mode:c++
78 // ;;; c-basic-offset:2
79 // ;;; End:
80