Go to the documentation of this file.00001
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
00018 #ifdef __GNUC__
00019 __attribute__ ((pure))
00020 #endif
00021 isMember(const NumEffectState& state,
00022 Ptype ptype,Square from,Square to);
00023 private:
00024 template <Direction Dir>
00025 static bool
00026 #ifdef __GNUC__
00027 __attribute__ ((pure))
00028 #endif
00029 testDirection(const NumEffectState& state, Square initial);
00030 };
00031 }
00032 }
00033
00034
00035 #endif
00036
00037
00038
00039
00040