openCheck.h Source File

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
openCheck.h
Go to the documentation of this file.
1 /* openCheck.h
2 */
3 #ifndef _MOVE_CLASSIFIER_OPENCHECK_H
4 #define _MOVE_CLASSIFIER_OPENCHECK_H
5
6 #include "osl/move_classifier/classifierTraits.h"
7 #include "osl/move_classifier/kingOpenMove.h"
8 #include "osl/state/numEffectState.h"
9
10 namespace osl
11 {
12 namespace move_classifier
13 {
14 template <Player P>
15 struct OpenCheck
16 {
17 static bool isMember(const NumEffectState& state,
18 Ptype ptype,Square from,Square to)
19 {
20 return KingOpenMove<PlayerTraits<P>::opponent>::isMember
21 (state,ptype,from,to);
22 }
23 };
24
25 template <Player P> struct ClassifierTraits<OpenCheck<P> >
26 {
27 static const bool drop_suitable = false;
28 static const bool result_if_drop = false;
29 };
30 } // namespace move_classifier
31 } // namespace osl
32
33 #endif /* _MOVE_CLASSIFIER_OPENCHECK_H */
34 // ;;; Local Variables:
35 // ;;; mode:c++
36 // ;;; c-basic-offset:2
37 // ;;; End: