Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
include
osl
move_classifier
directCheck.h
Go to the documentation of this file.
1
/* directCheck.h
2
*/
3
#ifndef OSL_MOVE_CLASSIFIER_DIRECTCHECK_H
4
#define OSL_MOVE_CLASSIFIER_DIRECTCHECK_H
5
6
#include "
osl/ptype.h
"
7
#include "
osl/square.h
"
8
#include "
osl/player.h
"
9
namespace
osl
10
{
11
namespace
move_classifier
12
{
13
template
<Player P>
14
struct
DirectCheck
15
{
16
static
bool
isMember
(
const
NumEffectState& state,
Ptype
ptype,
Square
to)
17
{
21
assert(!state.template hasEffectAt<P>(state.template kingSquare<
PlayerTraits<P>::opponent
>()));
28
return
state.hasEffectIf(
newPtypeO
(P,ptype),to,
29
state.template kingSquare<
PlayerTraits<P>::opponent
>());
30
}
31
32
template
<
class
State>
33
static
bool
isMember
(
const
State
& state,
Ptype
ptype,
Square
/*from*/
,
Square
to)
34
{
35
return
isMember
(state, ptype, to);
36
}
37
};
38
}
// namespace move_classifier
39
}
// namespace osl
40
41
#endif
/* _DIRECTCHECK_H */
42
// ;;; Local Variables:
43
// ;;; mode:c++
44
// ;;; c-basic-offset:2
45
// ;;; End:
Generated on Sun Jul 21 2013 13:37:24 by
1.8.4