All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
see.h
Go to the documentation of this file.
1 /* see.h
2  */
3 #ifndef OSL_SEE_H
4 #define OSL_SEE_H
5 
8 namespace osl
9 {
10  namespace eval
11  {
12  class PtypeEvalTable;
13  struct See
14  {
15  static int see(const NumEffectState& state, Move move,
16  const PieceMask& my_pin=PieceMask(), const PieceMask& op_pin=PieceMask(), const PtypeEvalTable *table=0);
17 
18  // public for test
19  template <Player P>
20  static int seeInternal(const NumEffectState& state, Move move,
21  const PieceMask& my_pin, const PieceMask& op_pin,
22  const PtypeEvalTable &table);
23  template <Player P>
24  static void findEffectPieces(const NumEffectState& state, Square effect_to,
25  PtypeOSquareVector& my_pieces, PtypeOSquareVector& op_pieces);
26  template <osl::Player P>
27  static void findEffectPiecesAfterMove(const NumEffectState& state, Move move,
28  PtypeOSquareVector& my_pieces, PtypeOSquareVector& op_pieces);
29  static void findAdditionalPieces(const NumEffectState& state, Player attack, Square target,
30  Square direct_attack_from,
31  PtypeOSquareVector& out);
38  template <Player P>
39  static int computeValue(const NumEffectState& state,
40  Move move,
41  PtypeOSquareVector& my_pieces,
42  PtypeOSquareVector& op_pieces,
43  const PieceMask& my_pin,
44  const PieceMask& op_pin,
45  const PtypeEvalTable &table);
46  struct StorePtypeO;
47  struct FindEffectMore;
48 
49  };
50  };
51  using eval::See;
52 }
53 
54 #endif /* _SEE_H */
55 // ;;; Local Variables:
56 // ;;; mode:c++
57 // ;;; c-basic-offset:2
58 // ;;; End: