openCheck.h
Go to the documentation of this file.
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/state/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<PlayerTraits<P>::opponent>::isMember
00021           (state,ptype,from,to);
00022       }
00023     };
00024 
00025     template <Player P> struct ClassifierTraits<OpenCheck<P> >
00026     {
00027       static const bool drop_suitable = false;
00028       static const bool result_if_drop = false;
00029     };
00030   } // namespace move_classifier
00031 } // namespace osl
00032 
00033 #endif /* _MOVE_CLASSIFIER_OPENCHECK_H */
00034 // ;;; Local Variables:
00035 // ;;; mode:c++
00036 // ;;; c-basic-offset:2
00037 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines