/usr/include/osl/usi.h is in libosl-dev 0.8.0-1.4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | /* usi.h
*/
#ifndef OSL_USI_H
#define OSL_USI_H
#include "osl/numEffectState.h"
#include <vector>
#include <string>
#include <stdexcept>
namespace osl
{
namespace usi
{
const Move strToMove(const std::string&, const NumEffectState&);
PtypeO charToPtypeO(char);
const std::string show(Move);
const std::string show(PtypeO);
const std::string show(Piece);
const std::string show(const NumEffectState&);
class ParseError : public std::invalid_argument
{
public:
ParseError(const std::string& msg = "")
: invalid_argument(msg)
{ }
};
/**
* 盤面を取得する.
* board文字列が不正なときは、ParseErrorがthrowされる.
* @param board USIの文字列
* @param state boardの解析結果が出力される
*/
void parseBoard(const std::string& board, NumEffectState&);
/** [sfen <sfenstring> | startpos ] moves <move1> ... <movei> */
void parse(const std::string& line, NumEffectState&);
void parse(const std::string& line, NumEffectState& initial, std::vector<Move>& moves);
NumEffectState makeState(const std::string& line);
}
/**
* gnushogi で使われるフォーマット.
* 何種類かある.
*/
namespace psn
{
class ParseError : public std::invalid_argument
{
public:
ParseError(const std::string& msg = "")
: invalid_argument(msg)
{ }
};
const Move strToMove(const std::string&, const SimpleState&);
const Square strToPos(const std::string&);
Ptype charToPtype(char);
const std::string show(Move);
const std::string show(Square);
char show(Ptype);
/** decorate capture by 'x', promote by '+', and unpromote by '=' */
const std::string showXP(Move);
}
} // osl
#endif /* OSL_USI_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; End:
|