Go to the documentation of this file.    1 #ifndef OSL_PTYPE_LIST_H 
    2 #define OSL_PTYPE_LIST_H 
    7 #include <boost/static_assert.hpp> 
   15       static void show(std::ostream& os);
 
   18     template<Ptype T,
class U>
 
   31     template<Ptype T,
class U>
 
   37     template<Ptype T,
class U>
 
   43       static void show(std::ostream& os);
 
   47 #define PTYPELIST_1(T1) PtypeList<T1,NullPtype> 
   48 #define PTYPELIST_2(T1,T2) PtypeList<T1,PTYPELIST_1(T2) > 
   49 #define PTYPELIST_3(T1,T2,T3) PtypeList<T1,PTYPELIST_2(T2,T3) > 
   50 #define PTYPELIST_4(T1,T2,T3,T4) PtypeList<T1,PTYPELIST_3(T2,T3,T4) > 
   51 #define PTYPELIST_5(T1,T2,T3,T4,T5) PtypeList<T1,PTYPELIST_4(T2,T3,T4,T5) > 
   52 #define PTYPELIST_6(T1,T2,T3,T4,T5,T6)\ 
   53   PtypeList<T1,PTYPELIST_5(T2,T3,T4,T5,T6) > 
   54 #define PTYPELIST_7(T1,T2,T3,T4,T5,T6,T7)\ 
   55  PtypeList<T1,PTYPELIST_6(T2,T3,T4,T5,T6,T7) > 
   56 #define PTYPELIST_8(T1,T2,T3,T4,T5,T6,T7,T8)\ 
   57  PtypeList<T1,PTYPELIST_7(T2,T3,T4,T5,T6,T7,T8) > 
   58 #define PTYPELIST_9(T1,T2,T3,T4,T5,T6,T7,T8,T9)\ 
   59  PtypeList<T1,PTYPELIST_8(T2,T3,T4,T5,T6,T7,T8,T9) > 
   60 #define PTYPELIST_10(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10)\ 
   61  PtypeList<T1,PTYPELIST_9(T2,T3,T4,T5,T6,T7,T8,T9,T10) > 
   62 #define PTYPELIST_11(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11)\ 
   63  PtypeList<T1,PTYPELIST_10(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) > 
   64 #define PTYPELIST_12(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12)\ 
   65  PtypeList<T1,PTYPELIST_11(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) > 
   66 #define PTYPELIST_13(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13)\ 
   67  PtypeList<T1,PTYPELIST_12(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) > 
   68 #define PTYPELIST_14(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14)\ 
   69  PtypeList<T1,PTYPELIST_13(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) > 
   70 #define PTYPELIST_15(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15)\ 
   71  PtypeList<T1,PTYPELIST_14(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) > 
   72 #define PTYPELIST_16(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16)\ 
   73  PtypeList<T1,PTYPELIST_15(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16) > 
   75     typedef PTYPELIST_16(
PTYPE_EMPTY,
PTYPE_EDGE,
PPAWN,
PLANCE,
PKNIGHT,
PSILVER,
PBISHOP,
PROOK,
GOLD,
KING,
PAWN,
LANCE,
KNIGHT,
SILVER,
BISHOP,
ROOK) PtypeListAll;
 
   81     template<class PTList,
Ptype T>
 
   86       static const bool value=
false;
 
   91     template<Ptype T1,Ptype T2,
class U>
 
   95     template<Ptype T1,Ptype T2,
class U>
 
   98     template<Ptype T,
class U>
 
  100       static const bool value=
true;
 
  102     template<Ptype T,
class U>
 
  108     template<
class PTList,
class CheckPtype> 
struct Filter;
 
  110     template<
class CheckPtype> 
 
  117     template<Ptype T,
class U,
class CheckPtype>
 
  122     template<Ptype T,
class U,
class CheckPtype>
 
  127     template<Ptype T,
class U,
class CheckPtype >
 
  146     template<
unsigned int moveMask>