trapRook.h
Go to the documentation of this file.
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
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   } // namespace move_classifier
00032 } // namespace osl
00033 
00034 
00035 #endif /* OSL_MOVE_CLASSIFIER_TRAPROOK_H */
00036 // ;;; Local Variables:
00037 // ;;; mode:c++
00038 // ;;; c-basic-offset:2
00039 // ;;; coding:utf-8
00040 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines