00001 /* openCheck.h 00002 */ 00003 #ifndef _MOVE_CLASSIFIER_OPENCHECK_H 00004 #define _MOVE_CLASSIFIER_OPENCHECK_H 00005 00006 #include "osl/move_classifier/classifierTraits.h" 00007 #include "osl/move_classifier/kingOpenMove.h" 00008 #include "osl/numEffectState.h" 00009 00010 namespace osl 00011 { 00012 namespace move_classifier 00013 { 00014 template <Player P> 00015 struct OpenCheck 00016 { 00017 static bool isMember(const NumEffectState& state, 00018 Ptype ptype,Square from,Square to) 00019 { 00020 return KingOpenMove<alt(P)>::isMember(state,ptype,from,to); 00021 } 00022 }; 00023 00024 template <Player P> struct ClassifierTraits<OpenCheck<P> > 00025 { 00026 static const bool drop_suitable = false; 00027 static const bool result_if_drop = false; 00028 }; 00029 } // namespace move_classifier 00030 } // namespace osl 00031 00032 #endif /* _MOVE_CLASSIFIER_OPENCHECK_H */ 00033 // ;;; Local Variables: 00034 // ;;; mode:c++ 00035 // ;;; c-basic-offset:2 00036 // ;;; End: