00001 /* trapRook.h 00002 */ 00003 #ifndef OSL_MOVE_CLASSIFIER_TRAPROOK_H 00004 #define OSL_MOVE_CLASSIFIER_TRAPROOK_H 00005 00006 #include "osl/state/numEffectState.h" 00007 namespace osl 00008 { 00009 namespace move_classifier 00010 { 00014 template <Player P> 00015 struct TrapRook 00016 { 00017 static bool isMember(const NumEffectState& state, 00018 Ptype ptype,Position from,Position to); 00019 private: 00020 template <Direction Dir> 00021 static bool testDirection(const NumEffectState& state, Position initial); 00022 }; 00023 } // namespace move_classifier 00024 } // namespace osl 00025 00026 00027 #endif /* OSL_MOVE_CLASSIFIER_TRAPROOK_H */ 00028 // ;;; Local Variables: 00029 // ;;; mode:c++ 00030 // ;;; c-basic-offset:2 00031 // ;;; End: