My Project
std
osl
sennichite.h
Go to the documentation of this file.
1
/* sennichite.h
2
*/
3
#ifndef OSL_SENNICHITE_H
4
#define OSL_SENNICHITE_H
5
6
#include "
osl/basic_type.h
"
7
#include <iosfwd>
8
9
namespace
osl
10
{
11
class
Sennichite
12
{
13
friend
bool
operator==
(
const
Sennichite
&,
const
Sennichite
&);
14
struct
Result
15
{
16
enum
Values
{
NORMAL
,
DRAW
,
BLACK_LOSE
,
WHITE_LOSE
};
17
};
18
Result::Values
value
;
19
Sennichite
(
Result::Values
v) :
value
(v) {}
20
public
:
21
static
Sennichite
NORMAL
() {
return
Result::NORMAL
; }
22
static
Sennichite
DRAW
() {
return
Result::DRAW
; }
23
static
Sennichite
BLACK_LOSE
() {
return
Result::BLACK_LOSE
; }
24
static
Sennichite
WHITE_LOSE
() {
return
Result::WHITE_LOSE
; }
25
26
bool
isNormal
()
const
{
return
value
==
Result::NORMAL
; }
27
bool
isDraw
()
const
{
return
value
==
Result::DRAW
; }
28
bool
hasWinner
()
const
29
{
30
return
(
value
==
Result::BLACK_LOSE
) || (
value
==
Result::WHITE_LOSE
);
31
}
32
Player
winner
()
const
;
33
};
34
35
inline
bool
operator==
(
const
Sennichite
& l,
const
Sennichite
& r)
36
{
37
return
l.
value
== r.
value
;
38
}
39
std::ostream&
operator<<
(std::ostream&,
const
Sennichite&);
40
}
// namespace osl
41
42
#endif
/* OSL_SENNICHITE_H */
43
// ;;; Local Variables:
44
// ;;; mode:c++
45
// ;;; c-basic-offset:2
46
// ;;; End:
osl::Sennichite::BLACK_LOSE
static Sennichite BLACK_LOSE()
Definition:
sennichite.h:23
osl::Sennichite::operator==
friend bool operator==(const Sennichite &, const Sennichite &)
Definition:
sennichite.h:35
osl::Sennichite::Result::NORMAL
@ NORMAL
Definition:
sennichite.h:16
osl::Sennichite::Result::Values
Values
Definition:
sennichite.h:16
basic_type.h
osl::Sennichite::isNormal
bool isNormal() const
Definition:
sennichite.h:26
osl::Sennichite::WHITE_LOSE
static Sennichite WHITE_LOSE()
Definition:
sennichite.h:24
osl::operator<<
std::ostream & operator<<(std::ostream &os, Player player)
Definition:
basic_type.cc:14
osl::Sennichite::winner
Player winner() const
Definition:
sennichite.cc:7
osl::Sennichite
Definition:
sennichite.h:12
osl::Sennichite::Result::WHITE_LOSE
@ WHITE_LOSE
Definition:
sennichite.h:16
osl::Sennichite::Result::DRAW
@ DRAW
Definition:
sennichite.h:16
osl::operator==
bool operator==(Square l, Square r)
Definition:
basic_type.h:758
osl::Sennichite::Result
Definition:
sennichite.h:15
osl::Sennichite::Sennichite
Sennichite(Result::Values v)
Definition:
sennichite.h:19
osl::Sennichite::DRAW
static Sennichite DRAW()
Definition:
sennichite.h:22
osl::Player
Player
Definition:
basic_type.h:8
osl::Sennichite::Result::BLACK_LOSE
@ BLACK_LOSE
Definition:
sennichite.h:16
osl::Sennichite::isDraw
bool isDraw() const
Definition:
sennichite.h:27
osl::Sennichite::NORMAL
static Sennichite NORMAL()
Definition:
sennichite.h:21
osl::Sennichite::hasWinner
bool hasWinner() const
Definition:
sennichite.h:28
osl::Sennichite::value
Result::Values value
Definition:
sennichite.h:18
osl
Definition:
additionalEffect.h:6
Generated by
1.8.20