My Project
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/numEffectState.h"
7 #include <vector>
8 #include <string>
9 #include <stdexcept>
10 
11 namespace osl
12 {
13  namespace usi
14  {
15  const Move strToMove(const std::string&, const NumEffectState&);
16  PtypeO charToPtypeO(char);
17 
18  const std::string show(Move);
19  const std::string show(PtypeO);
20  const std::string show(Piece);
21  const std::string show(const NumEffectState&);
22 
23  class ParseError : public std::invalid_argument
24  {
25  public:
26  ParseError(const std::string& msg = "")
27  : invalid_argument(msg)
28  { }
29  };
30 
37  void parseBoard(const std::string& board, NumEffectState&);
39  void parse(const std::string& line, NumEffectState&);
40  void parse(const std::string& line, NumEffectState& initial, std::vector<Move>& moves);
41 
42  NumEffectState makeState(const std::string& line);
43  }
44 
49  namespace psn
50  {
51  class ParseError : public std::invalid_argument
52  {
53  public:
54  ParseError(const std::string& msg = "")
55  : invalid_argument(msg)
56  { }
57  };
58  const Move strToMove(const std::string&, const SimpleState&);
59  const Square strToPos(const std::string&);
60  Ptype charToPtype(char);
61 
62  const std::string show(Move);
63  const std::string show(Square);
64  char show(Ptype);
65 
67  const std::string showXP(Move);
68  }
69 } // osl
70 
71 #endif /* OSL_USI_H */
72 // ;;; Local Variables:
73 // ;;; mode:c++
74 // ;;; c-basic-offset:2
75 // ;;; End:
osl::Square
Definition: basic_type.h:532
osl::usi::ParseError::ParseError
ParseError(const std::string &msg="")
Definition: usi.h:26
osl::usi::parseBoard
void parseBoard(const std::string &board, NumEffectState &)
盤面を取得する.
Definition: usi.cc:255
osl::Move
圧縮していない moveの表現 .
Definition: basic_type.h:1052
osl::SimpleState
Definition: simpleState.h:35
osl::psn::show
const std::string show(Move)
Definition: usi.cc:39
osl::Ptype
Ptype
駒の種類を4ビットでコード化する
Definition: basic_type.h:84
osl::Piece
駒.
Definition: basic_type.h:788
osl::usi::show
const std::string show(Move)
Definition: usi.cc:146
osl::usi::ParseError
Definition: usi.h:24
osl::usi::makeState
NumEffectState makeState(const std::string &line)
Definition: usi.cc:312
osl::usi::charToPtypeO
PtypeO charToPtypeO(char)
Definition: usi.cc:246
osl::usi::parse
void parse(const std::string &line, NumEffectState &)
[sfen <sfenstring> | startpos ] moves <move1> ...
Definition: usi.cc:301
osl::PtypeO
PtypeO
Player + Ptype [-15, 15] PtypeO の O は Owner の O.
Definition: basic_type.h:199
osl::NumEffectState
利きを持つ局面
Definition: numEffectState.h:34
osl::psn::strToPos
const Square strToPos(const std::string &)
Definition: usi.cc:115
osl::psn::strToMove
const Move strToMove(const std::string &, const SimpleState &)
Definition: usi.cc:87
osl::psn::ParseError
Definition: usi.h:52
osl::usi::strToMove
const Move strToMove(const std::string &, const NumEffectState &)
Definition: usi.cc:226
osl::psn::showXP
const std::string showXP(Move)
decorate capture by 'x', promote by '+', and unpromote by '='
Definition: usi.cc:58
numEffectState.h
osl::psn::ParseError::ParseError
ParseError(const std::string &msg="")
Definition: usi.h:54
osl
Definition: additionalEffect.h:6
osl::psn::charToPtype
Ptype charToPtype(char)
Definition: usi.cc:126