Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
include
osl
record
usi.h
Go to the documentation of this file.
1
/* usi.h
2
*/
3
#ifndef OSL_USI_H
4
#define OSL_USI_H
5
6
#include "
osl/record/record.h
"
7
#include "
osl/move.h
"
8
#include "
osl/stl/vector.h
"
9
#include <string>
10
#include <stdexcept>
11
12
namespace
osl
13
{
14
namespace
state
15
{
16
class
SimpleState;
17
class
NumEffectState;
18
}
19
namespace
record
20
{
21
namespace
usi
22
{
23
const
Move
strToMove
(
const
std::string&,
const
state::SimpleState
&);
24
PtypeO
charToPtypeO
(
char
);
25
26
const
std::string
show
(
Move
);
27
const
std::string
show
(
PtypeO
);
28
const
std::string
show
(
Piece
);
29
const
std::string
show
(
const
state::SimpleState
&);
30
31
class
ParseError
:
public
std::invalid_argument
32
{
33
public
:
34
ParseError
(
const
std::string& msg =
""
)
35
: invalid_argument(msg)
36
{ }
37
};
38
45
void
parseBoard
(
const
std::string& board,
state::SimpleState
&);
47
void
parse
(
const
std::string& line,
state::NumEffectState
&);
48
void
parse
(
const
std::string& line,
state::SimpleState
& initial, vector<Move>&
moves
);
49
50
state::NumEffectState
makeState
(
const
std::string& line);
56
void
escape
(std::string& str);
62
void
unescape
(std::string& str);
63
64
class
UsiFile
65
{
66
private
:
67
Record
record
;
68
public
:
69
UsiFile
(
const
std::string& filename);
70
~UsiFile
();
71
72
Record
const
&
getRecord
()
const
;
73
const
NumEffectState
getInitialState
()
const
;
74
};
75
}
76
}
// record
77
using
record::usi::UsiFile
;
78
}
// osl
79
80
#endif
/* OSL_USI_H */
81
// ;;; Local Variables:
82
// ;;; mode:c++
83
// ;;; c-basic-offset:2
84
// ;;; End:
Generated on Sun Jul 21 2013 13:37:27 by
1.8.4