directionTraits.h
Go to the documentation of this file.
/* directionTraits.h
*/
#ifndef OSL_DIRECTIONTRAITS_H
#define OSL_DIRECTIONTRAITS_H
#include "osl/basic_type.h"
namespace osl
{
template<Direction Dir>
struct DirectionTraitsGen;
template<>
struct DirectionTraitsGen<UL>{
static const int blackDx=1;
static const int blackDy=-1;
static const bool canPromoteTo=true;
static const Direction altDir=DR;
static const Direction longDir=LONG_UL;
static const Direction primDir=UL;
static const int ptypeMask=
(1<<PPAWN)|(1<<PLANCE)|(1<<PKNIGHT)|(1<<PSILVER)|(1<<PBISHOP)|
(1<<PROOK)|(1<<KING)|(1<<GOLD)|(1<<SILVER)|(1<<BISHOP);
};
template<>
struct DirectionTraitsGen<U>{
static const int blackDx=0;
static const int blackDy=-1;
static const bool canPromoteTo=true;
static const Direction altDir=D;
static const Direction longDir=LONG_U;
static const Direction primDir=U;
static const int ptypeMask=
(1<<PPAWN)|(1<<PLANCE)|(1<<PKNIGHT)|(1<<PSILVER)|(1<<PBISHOP)|
(1<<PROOK)|(1<<KING)|(1<<GOLD)|(1<<PAWN)|(1<<LANCE)|(1<<SILVER)|(1<<ROOK);
};
template<>
struct DirectionTraitsGen<UR>{
static const int blackDx=-1;
static const int blackDy=-1;
static const bool canPromoteTo=true;
static const Direction altDir=DL;
static const Direction longDir=LONG_UR;
static const Direction primDir=UR;
static const int ptypeMask=
(1<<PPAWN)|(1<<PLANCE)|(1<<PKNIGHT)|(1<<PSILVER)|(1<<PBISHOP)|
(1<<PROOK)|(1<<KING)|(1<<GOLD)|(1<<SILVER)|(1<<BISHOP);
};
template<>
struct DirectionTraitsGen<L>{
static const int blackDx=1;
static const int blackDy=0;
static const bool canPromoteTo=false;
static const Direction altDir=R;
static const Direction longDir=LONG_L;
static const Direction primDir=L;
static const int ptypeMask=
(1<<PPAWN)|(1<<PLANCE)|(1<<PKNIGHT)|(1<<PSILVER)|(1<<PBISHOP)|
(1<<PROOK)|(1<<KING)|(1<<GOLD)|(1<<ROOK);
};
template<>
struct DirectionTraitsGen<R>{
static const int blackDx=-1;
static const int blackDy=0;
static const bool canPromoteTo=false;
static const Direction altDir=L;
static const Direction longDir=LONG_R;
static const Direction primDir=L;
static const int ptypeMask=
(1<<PPAWN)|(1<<PLANCE)|(1<<PKNIGHT)|(1<<PSILVER)|(1<<PBISHOP)|
(1<<PROOK)|(1<<KING)|(1<<GOLD)|(1<<ROOK);
};
template<>
struct DirectionTraitsGen<DL>{
static const int blackDx=1;
static const int blackDy=1;
static const bool canPromoteTo=false;
static const Direction altDir=UR;
static const Direction longDir=LONG_DL;
static const Direction primDir=UR;
static const int ptypeMask=
(1<<PBISHOP)|(1<<PROOK)|(1<<KING)|(1<<SILVER)|(1<<BISHOP);
};
template<>
struct DirectionTraitsGen<D>{
static const int blackDx=0;
static const int blackDy=1;
static const bool canPromoteTo=false;
static const Direction altDir=U;
static const Direction longDir=LONG_D;
static const Direction primDir=U;
static const int ptypeMask=
(1<<PPAWN)|(1<<PLANCE)|(1<<PKNIGHT)|(1<<PSILVER)|(1<<PBISHOP)|
(1<<PROOK)|(1<<KING)|(1<<GOLD)|(1<<ROOK);
};
template<>
struct DirectionTraitsGen<DR>{
static const int blackDx=-1;
static const int blackDy=1;
static const bool canPromoteTo=false;
static const Direction altDir=UL;
static const Direction longDir=LONG_DR;
static const Direction primDir=UL;
static const int ptypeMask=
(1<<PBISHOP)|(1<<PROOK)|(1<<KING)|(1<<SILVER)|(1<<BISHOP);
};
template<>
struct DirectionTraitsGen<UUL>{
static const int blackDx=1;
static const int blackDy=-2;
static const bool canPromoteTo=true;
// no meaning
static const Direction altDir=UUL;
static const Direction longDir=UUL;
static const Direction primDir=UUL;
static const int ptypeMask=
(1<<KNIGHT);
};
template<>
struct DirectionTraitsGen<UUR>{
static const int blackDx=-1;
static const int blackDy=-2;
static const bool canPromoteTo=true;
// no meaning
static const Direction altDir=UUR;
static const Direction longDir=UUR;
static const Direction primDir=UUR;
static const int ptypeMask=
(1<<KNIGHT);
};
template<>
struct DirectionTraitsGen<LONG_UL>{
static const bool canPromoteTo=true;
static const Direction altDir=LONG_DR;
static const Direction longDir=LONG_UL;
static const Direction primDir=UL;
static const int blackDx=DirectionTraitsGen<UL>::blackDx;
static const int blackDy=DirectionTraitsGen<UL>::blackDy;
static const int ptypeMask=
(1<<PBISHOP)|(1<<BISHOP);
};
template<>
struct DirectionTraitsGen<LONG_U>{
static const bool canPromoteTo=true;
static const Direction altDir=LONG_D;
static const Direction longDir=LONG_U;
static const Direction primDir=U;
static const int blackDx=DirectionTraitsGen<U>::blackDx;
static const int blackDy=DirectionTraitsGen<U>::blackDy;
static const int ptypeMask=
(1<<LANCE)|(1<<ROOK)|(1<<PROOK);
};
template<>
struct DirectionTraitsGen<LONG_UR>{
static const bool canPromoteTo=true;
static const Direction altDir=LONG_DL;
static const Direction longDir=LONG_UR;
static const Direction primDir=UR;
static const int blackDx=DirectionTraitsGen<UR>::blackDx;
static const int blackDy=DirectionTraitsGen<UR>::blackDy;
static const int ptypeMask=
(1<<PBISHOP)|(1<<BISHOP);
};
template<>
struct DirectionTraitsGen<LONG_L>{
static const bool canPromoteTo=false;
static const Direction altDir=LONG_R;
static const Direction longDir=LONG_L;
static const Direction primDir=L;
static const int blackDx=DirectionTraitsGen<L>::blackDx;
static const int blackDy=DirectionTraitsGen<L>::blackDy;
static const int ptypeMask=
(1<<ROOK)|(1<<PROOK);
};
template<>
struct DirectionTraitsGen<LONG_R>{
static const bool canPromoteTo=false;
static const Direction altDir=LONG_L;
static const Direction longDir=LONG_R;
static const Direction primDir=L;
static const int blackDx=DirectionTraitsGen<R>::blackDx;
static const int blackDy=DirectionTraitsGen<R>::blackDy;
static const int ptypeMask=
(1<<ROOK)|(1<<PROOK);
};
template<>
struct DirectionTraitsGen<LONG_DL>{
static const bool canPromoteTo=false;
static const Direction altDir=LONG_UR;
static const Direction longDir=LONG_DL;
static const Direction primDir=UR;
static const int blackDx=DirectionTraitsGen<DL>::blackDx;
static const int blackDy=DirectionTraitsGen<DL>::blackDy;
static const int ptypeMask=
(1<<PBISHOP)|(1<<BISHOP);
};
template<>
struct DirectionTraitsGen<LONG_D>{
static const bool canPromoteTo=false;
static const Direction altDir=LONG_U;
static const Direction longDir=LONG_D;
static const Direction primDir=U;
static const int blackDx=DirectionTraitsGen<D>::blackDx;
static const int blackDy=DirectionTraitsGen<D>::blackDy;
static const int ptypeMask=
(1<<ROOK)|(1<<PROOK);
};
template<>
struct DirectionTraitsGen<LONG_DR>{
static const bool canPromoteTo=false;
static const Direction altDir=LONG_UL;
static const Direction longDir=LONG_DR;
static const Direction primDir=UL;
static const int blackDx=DirectionTraitsGen<DR>::blackDx;
static const int blackDy=DirectionTraitsGen<DR>::blackDy;
static const int ptypeMask=
(1<<PBISHOP)|(1<<BISHOP);
};
template<Direction Dir>
struct DirectionTraits{
// これらを関数にすると押し込められる
static const unsigned int mask=1<<static_cast<int>(Dir);
static const bool isLong=(static_cast<int>(Dir) >= LONG_UL);
static const int blackDx=DirectionTraitsGen<Dir>::blackDx;
static const int blackDy=DirectionTraitsGen<Dir>::blackDy;
static const Offset blackOffset() { return Offset(blackDx,blackDy); }
static const bool canPromoteTo=DirectionTraitsGen<Dir>::canPromoteTo;
static const Direction longDir=DirectionTraitsGen<Dir>::longDir;
static const int ptypeMask=DirectionTraitsGen<Dir>::ptypeMask;
static const int ptypeMaskNotKing=DirectionTraitsGen<Dir>::ptypeMask &
~(1<<KING);
static const Direction primDir=DirectionTraitsGen<Dir>::primDir;
static const Direction altDir=DirectionTraitsGen<Dir>::altDir;
};
template<Direction Dir,Player P>
struct DirectionPlayerTraits;
template<Direction Dir>
struct DirectionPlayerTraits<Dir,BLACK>{
static const Offset offset() {
return DirectionTraits<Dir>::blackOffset();
}
static const Direction directionByBlack=Dir;
};
template<Direction Dir>
const Direction DirectionPlayerTraits<Dir,BLACK>::directionByBlack;
template<Direction Dir>
struct DirectionPlayerTraits<Dir,WHITE>{
static const Offset offset() {
return -DirectionTraits<Dir>::blackOffset();
}
static const Direction directionByBlack=DirectionTraitsGen<Dir>::altDir;
};
template<Direction Dir>
const Direction DirectionPlayerTraits<Dir,WHITE>::directionByBlack;
template <Player P, Direction D>
Offset Offset::make() {
return DirectionPlayerTraits<D,P>::offset();
}
} // namespace osl
#endif /* OSL_DIRECTIONTRAITS_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; coding:utf-8
// ;;; End:
basic_type.h
osl::Offset
座標の差分
Definition basic_type.h:430
osl::Offset::make
static Offset make()
Definition directionTraits.h:265
osl::Offset::Offset
Offset(int o)
Definition basic_type.h:443
osl
Definition additionalEffect.h:6
osl::ROOK
@ ROOK
Definition basic_type.h:100
osl::PPAWN
@ PPAWN
Definition basic_type.h:87
osl::BISHOP
@ BISHOP
Definition basic_type.h:99
osl::PROOK
@ PROOK
Definition basic_type.h:92
osl::PAWN
@ PAWN
Definition basic_type.h:95
osl::KING
@ KING
Definition basic_type.h:93
osl::KNIGHT
@ KNIGHT
Definition basic_type.h:97
osl::SILVER
@ SILVER
Definition basic_type.h:98
osl::PKNIGHT
@ PKNIGHT
Definition basic_type.h:89
osl::GOLD
@ GOLD
Definition basic_type.h:94
osl::PLANCE
@ PLANCE
Definition basic_type.h:88
osl::PBISHOP
@ PBISHOP
Definition basic_type.h:91
osl::LANCE
@ LANCE
Definition basic_type.h:96
osl::PSILVER
@ PSILVER
Definition basic_type.h:90
osl::Direction
Direction
Definition basic_type.h:310
osl::R
@ R
Definition basic_type.h:317
osl::LONG_DL
@ LONG_DL
Definition basic_type.h:330
osl::LONG_DR
@ LONG_DR
Definition basic_type.h:332
osl::D
@ D
Definition basic_type.h:319
osl::LONG_UL
@ LONG_UL
Definition basic_type.h:325
osl::UUR
@ UUR
Definition basic_type.h:323
osl::LONG_U
@ LONG_U
Definition basic_type.h:326
osl::LONG_L
@ LONG_L
Definition basic_type.h:328
osl::UUL
@ UUL
Definition basic_type.h:322
osl::UL
@ UL
Definition basic_type.h:313
osl::LONG_D
@ LONG_D
Definition basic_type.h:331
osl::DR
@ DR
Definition basic_type.h:320
osl::U
@ U
Definition basic_type.h:314
osl::L
@ L
Definition basic_type.h:316
osl::UR
@ UR
Definition basic_type.h:315
osl::LONG_R
@ LONG_R
Definition basic_type.h:329
osl::DL
@ DL
Definition basic_type.h:318
osl::LONG_UR
@ LONG_UR
Definition basic_type.h:327
osl::WHITE
@ WHITE
Definition basic_type.h:10
osl::BLACK
@ BLACK
Definition basic_type.h:9
osl::DirectionPlayerTraits< Dir, BLACK >::offset
static const Offset offset()
Definition directionTraits.h:246
osl::DirectionPlayerTraits< Dir, BLACK >::directionByBlack
static const Direction directionByBlack
Definition directionTraits.h:249
osl::DirectionPlayerTraits< Dir, WHITE >::directionByBlack
static const Direction directionByBlack
Definition directionTraits.h:259
osl::DirectionPlayerTraits< Dir, WHITE >::offset
static const Offset offset()
Definition directionTraits.h:256
osl::DirectionPlayerTraits
Definition directionTraits.h:242
osl::DirectionTraitsGen< DL >::blackDx
static const int blackDx
Definition directionTraits.h:77
osl::DirectionTraitsGen< DL >::altDir
static const Direction altDir
Definition directionTraits.h:80
osl::DirectionTraitsGen< DL >::blackDy
static const int blackDy
Definition directionTraits.h:78
osl::DirectionTraitsGen< DL >::primDir
static const Direction primDir
Definition directionTraits.h:82
osl::DirectionTraitsGen< DL >::longDir
static const Direction longDir
Definition directionTraits.h:81
osl::DirectionTraitsGen< DL >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:83
osl::DirectionTraitsGen< DL >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:79
osl::DirectionTraitsGen< DR >::blackDx
static const int blackDx
Definition directionTraits.h:100
osl::DirectionTraitsGen< DR >::longDir
static const Direction longDir
Definition directionTraits.h:104
osl::DirectionTraitsGen< DR >::blackDy
static const int blackDy
Definition directionTraits.h:101
osl::DirectionTraitsGen< DR >::altDir
static const Direction altDir
Definition directionTraits.h:103
osl::DirectionTraitsGen< DR >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:102
osl::DirectionTraitsGen< DR >::primDir
static const Direction primDir
Definition directionTraits.h:105
osl::DirectionTraitsGen< DR >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:106
osl::DirectionTraitsGen< D >::longDir
static const Direction longDir
Definition directionTraits.h:92
osl::DirectionTraitsGen< D >::primDir
static const Direction primDir
Definition directionTraits.h:93
osl::DirectionTraitsGen< D >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:94
osl::DirectionTraitsGen< D >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:90
osl::DirectionTraitsGen< D >::blackDy
static const int blackDy
Definition directionTraits.h:89
osl::DirectionTraitsGen< D >::altDir
static const Direction altDir
Definition directionTraits.h:91
osl::DirectionTraitsGen< D >::blackDx
static const int blackDx
Definition directionTraits.h:88
osl::DirectionTraitsGen< LONG_DL >::blackDx
static const int blackDx
Definition directionTraits.h:197
osl::DirectionTraitsGen< LONG_DL >::altDir
static const Direction altDir
Definition directionTraits.h:194
osl::DirectionTraitsGen< LONG_DL >::primDir
static const Direction primDir
Definition directionTraits.h:196
osl::DirectionTraitsGen< LONG_DL >::longDir
static const Direction longDir
Definition directionTraits.h:195
osl::DirectionTraitsGen< LONG_DL >::blackDy
static const int blackDy
Definition directionTraits.h:198
osl::DirectionTraitsGen< LONG_DL >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:199
osl::DirectionTraitsGen< LONG_DL >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:193
osl::DirectionTraitsGen< LONG_DR >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:221
osl::DirectionTraitsGen< LONG_DR >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:215
osl::DirectionTraitsGen< LONG_DR >::blackDy
static const int blackDy
Definition directionTraits.h:220
osl::DirectionTraitsGen< LONG_DR >::blackDx
static const int blackDx
Definition directionTraits.h:219
osl::DirectionTraitsGen< LONG_DR >::longDir
static const Direction longDir
Definition directionTraits.h:217
osl::DirectionTraitsGen< LONG_DR >::primDir
static const Direction primDir
Definition directionTraits.h:218
osl::DirectionTraitsGen< LONG_DR >::altDir
static const Direction altDir
Definition directionTraits.h:216
osl::DirectionTraitsGen< LONG_D >::primDir
static const Direction primDir
Definition directionTraits.h:207
osl::DirectionTraitsGen< LONG_D >::blackDy
static const int blackDy
Definition directionTraits.h:209
osl::DirectionTraitsGen< LONG_D >::blackDx
static const int blackDx
Definition directionTraits.h:208
osl::DirectionTraitsGen< LONG_D >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:210
osl::DirectionTraitsGen< LONG_D >::altDir
static const Direction altDir
Definition directionTraits.h:205
osl::DirectionTraitsGen< LONG_D >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:204
osl::DirectionTraitsGen< LONG_D >::longDir
static const Direction longDir
Definition directionTraits.h:206
osl::DirectionTraitsGen< LONG_L >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:171
osl::DirectionTraitsGen< LONG_L >::blackDx
static const int blackDx
Definition directionTraits.h:175
osl::DirectionTraitsGen< LONG_L >::longDir
static const Direction longDir
Definition directionTraits.h:173
osl::DirectionTraitsGen< LONG_L >::altDir
static const Direction altDir
Definition directionTraits.h:172
osl::DirectionTraitsGen< LONG_L >::blackDy
static const int blackDy
Definition directionTraits.h:176
osl::DirectionTraitsGen< LONG_L >::primDir
static const Direction primDir
Definition directionTraits.h:174
osl::DirectionTraitsGen< LONG_L >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:177
osl::DirectionTraitsGen< LONG_R >::blackDy
static const int blackDy
Definition directionTraits.h:187
osl::DirectionTraitsGen< LONG_R >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:182
osl::DirectionTraitsGen< LONG_R >::longDir
static const Direction longDir
Definition directionTraits.h:184
osl::DirectionTraitsGen< LONG_R >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:188
osl::DirectionTraitsGen< LONG_R >::blackDx
static const int blackDx
Definition directionTraits.h:186
osl::DirectionTraitsGen< LONG_R >::primDir
static const Direction primDir
Definition directionTraits.h:185
osl::DirectionTraitsGen< LONG_R >::altDir
static const Direction altDir
Definition directionTraits.h:183
osl::DirectionTraitsGen< LONG_UL >::primDir
static const Direction primDir
Definition directionTraits.h:139
osl::DirectionTraitsGen< LONG_UL >::blackDx
static const int blackDx
Definition directionTraits.h:140
osl::DirectionTraitsGen< LONG_UL >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:136
osl::DirectionTraitsGen< LONG_UL >::blackDy
static const int blackDy
Definition directionTraits.h:141
osl::DirectionTraitsGen< LONG_UL >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:142
osl::DirectionTraitsGen< LONG_UL >::longDir
static const Direction longDir
Definition directionTraits.h:138
osl::DirectionTraitsGen< LONG_UL >::altDir
static const Direction altDir
Definition directionTraits.h:137
osl::DirectionTraitsGen< LONG_UR >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:160
osl::DirectionTraitsGen< LONG_UR >::primDir
static const Direction primDir
Definition directionTraits.h:163
osl::DirectionTraitsGen< LONG_UR >::blackDy
static const int blackDy
Definition directionTraits.h:165
osl::DirectionTraitsGen< LONG_UR >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:166
osl::DirectionTraitsGen< LONG_UR >::longDir
static const Direction longDir
Definition directionTraits.h:162
osl::DirectionTraitsGen< LONG_UR >::blackDx
static const int blackDx
Definition directionTraits.h:164
osl::DirectionTraitsGen< LONG_UR >::altDir
static const Direction altDir
Definition directionTraits.h:161
osl::DirectionTraitsGen< LONG_U >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:154
osl::DirectionTraitsGen< LONG_U >::blackDx
static const int blackDx
Definition directionTraits.h:152
osl::DirectionTraitsGen< LONG_U >::primDir
static const Direction primDir
Definition directionTraits.h:151
osl::DirectionTraitsGen< LONG_U >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:148
osl::DirectionTraitsGen< LONG_U >::altDir
static const Direction altDir
Definition directionTraits.h:149
osl::DirectionTraitsGen< LONG_U >::longDir
static const Direction longDir
Definition directionTraits.h:150
osl::DirectionTraitsGen< LONG_U >::blackDy
static const int blackDy
Definition directionTraits.h:153
osl::DirectionTraitsGen< L >::altDir
static const Direction altDir
Definition directionTraits.h:56
osl::DirectionTraitsGen< L >::longDir
static const Direction longDir
Definition directionTraits.h:57
osl::DirectionTraitsGen< L >::primDir
static const Direction primDir
Definition directionTraits.h:58
osl::DirectionTraitsGen< L >::blackDy
static const int blackDy
Definition directionTraits.h:54
osl::DirectionTraitsGen< L >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:55
osl::DirectionTraitsGen< L >::blackDx
static const int blackDx
Definition directionTraits.h:53
osl::DirectionTraitsGen< L >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:59
osl::DirectionTraitsGen< R >::altDir
static const Direction altDir
Definition directionTraits.h:68
osl::DirectionTraitsGen< R >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:71
osl::DirectionTraitsGen< R >::blackDx
static const int blackDx
Definition directionTraits.h:65
osl::DirectionTraitsGen< R >::longDir
static const Direction longDir
Definition directionTraits.h:69
osl::DirectionTraitsGen< R >::primDir
static const Direction primDir
Definition directionTraits.h:70
osl::DirectionTraitsGen< R >::blackDy
static const int blackDy
Definition directionTraits.h:66
osl::DirectionTraitsGen< R >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:67
osl::DirectionTraitsGen< UL >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:21
osl::DirectionTraitsGen< UL >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:17
osl::DirectionTraitsGen< UL >::primDir
static const Direction primDir
Definition directionTraits.h:20
osl::DirectionTraitsGen< UL >::blackDy
static const int blackDy
Definition directionTraits.h:16
osl::DirectionTraitsGen< UL >::altDir
static const Direction altDir
Definition directionTraits.h:18
osl::DirectionTraitsGen< UL >::blackDx
static const int blackDx
Definition directionTraits.h:15
osl::DirectionTraitsGen< UL >::longDir
static const Direction longDir
Definition directionTraits.h:19
osl::DirectionTraitsGen< UR >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:47
osl::DirectionTraitsGen< UR >::longDir
static const Direction longDir
Definition directionTraits.h:45
osl::DirectionTraitsGen< UR >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:43
osl::DirectionTraitsGen< UR >::primDir
static const Direction primDir
Definition directionTraits.h:46
osl::DirectionTraitsGen< UR >::blackDx
static const int blackDx
Definition directionTraits.h:41
osl::DirectionTraitsGen< UR >::altDir
static const Direction altDir
Definition directionTraits.h:44
osl::DirectionTraitsGen< UR >::blackDy
static const int blackDy
Definition directionTraits.h:42
osl::DirectionTraitsGen< UUL >::altDir
static const Direction altDir
Definition directionTraits.h:115
osl::DirectionTraitsGen< UUL >::blackDx
static const int blackDx
Definition directionTraits.h:111
osl::DirectionTraitsGen< UUL >::blackDy
static const int blackDy
Definition directionTraits.h:112
osl::DirectionTraitsGen< UUL >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:118
osl::DirectionTraitsGen< UUL >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:113
osl::DirectionTraitsGen< UUL >::longDir
static const Direction longDir
Definition directionTraits.h:116
osl::DirectionTraitsGen< UUL >::primDir
static const Direction primDir
Definition directionTraits.h:117
osl::DirectionTraitsGen< UUR >::blackDy
static const int blackDy
Definition directionTraits.h:124
osl::DirectionTraitsGen< UUR >::altDir
static const Direction altDir
Definition directionTraits.h:127
osl::DirectionTraitsGen< UUR >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:130
osl::DirectionTraitsGen< UUR >::longDir
static const Direction longDir
Definition directionTraits.h:128
osl::DirectionTraitsGen< UUR >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:125
osl::DirectionTraitsGen< UUR >::primDir
static const Direction primDir
Definition directionTraits.h:129
osl::DirectionTraitsGen< UUR >::blackDx
static const int blackDx
Definition directionTraits.h:123
osl::DirectionTraitsGen< U >::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:30
osl::DirectionTraitsGen< U >::blackDx
static const int blackDx
Definition directionTraits.h:28
osl::DirectionTraitsGen< U >::blackDy
static const int blackDy
Definition directionTraits.h:29
osl::DirectionTraitsGen< U >::primDir
static const Direction primDir
Definition directionTraits.h:33
osl::DirectionTraitsGen< U >::ptypeMask
static const int ptypeMask
Definition directionTraits.h:34
osl::DirectionTraitsGen< U >::longDir
static const Direction longDir
Definition directionTraits.h:32
osl::DirectionTraitsGen< U >::altDir
static const Direction altDir
Definition directionTraits.h:31
osl::DirectionTraitsGen
Definition directionTraits.h:11
osl::DirectionTraits
Definition directionTraits.h:225
osl::DirectionTraits::mask
static const unsigned int mask
Definition directionTraits.h:227
osl::DirectionTraits::longDir
static const Direction longDir
Definition directionTraits.h:233
osl::DirectionTraits::canPromoteTo
static const bool canPromoteTo
Definition directionTraits.h:232
osl::DirectionTraits::primDir
static const Direction primDir
Definition directionTraits.h:237
osl::DirectionTraits::blackOffset
static const Offset blackOffset()
Definition directionTraits.h:231
osl::DirectionTraits::altDir
static const Direction altDir
Definition directionTraits.h:238
osl::DirectionTraits::blackDx
static const int blackDx
Definition directionTraits.h:229
osl::DirectionTraits::isLong
static const bool isLong
Definition directionTraits.h:228
osl::DirectionTraits::blackDy
static const int blackDy
Definition directionTraits.h:230
osl::DirectionTraits::ptypeMaskNotKing
static const int ptypeMaskNotKing
Definition directionTraits.h:235
osl::DirectionTraits::ptypeMask
static const int ptypeMask
Definition directionTraits.h:234