osl::KanjiMove Class Reference

Parse kanji records such as "７六歩", the style of which is generally used to write Shogi records in Japanese. More...

`#include <kanjiMove.h>`

## Public Member Functions

| KanjiMove ()
| ~KanjiMove ()
const Move | strToMove (const std::string &, const NumEffectState &state, const Move &last_move) const
| Convert a Japanese string (one token) to a move object.
void | setVerbose (bool verbose)
Square | toSquare (const std::string &) const
Ptype | toPtype (const std::string &) const

## Static Public Member Functions

static const KanjiMove & | instance ()

## Private Types

typedef std::list< Move > | found_moves_t
typedef std::unordered_map< std::string, Square > | str2position_t
typedef std::unordered_map< std::string, Ptype > | str2piece_t

## Private Member Functions

void | selectCandidates (found_moves_t &found, std::string &str, const Square &to_pos, const Player &player) const

## Private Attributes

str2position_t | str2position
str2piece_t | str2piece
bool | verbose

## Detailed Description

Parse kanji records such as "７六歩", the style of which is generally used to write Shogi records in Japanese.

Definition at line 19 of file kanjiMove.h.

## Member Typedef Documentation

## found_moves_t

typedef std::list<Move> osl::record::KanjiMove::found_moves_t

private

Definition at line 38 of file kanjiMove.h.

## str2piece_t

typedef std::unordered_map<std::string, Ptype> osl::record::KanjiMove::str2piece_t

private

Definition at line 46 of file kanjiMove.h.

## str2position_t

typedef std::unordered_map<std::string, Square> osl::record::KanjiMove::str2position_t

private

Definition at line 44 of file kanjiMove.h.

## Constructor & Destructor Documentation

## KanjiMove()

osl::record::KanjiMove::KanjiMove | ( |  | ) |

Definition at line 218 of file kanjiMove.cc.

## ~KanjiMove()

osl::record::KanjiMove::~KanjiMove | ( |  | ) |

Definition at line 254 of file kanjiMove.cc.

## Member Function Documentation

## instance()

const osl::record::KanjiMove & osl::record::KanjiMove::instance | ( |  | ) |

static

Definition at line 492 of file kanjiMove.cc.

Referenced by osl::kakinoki::KakinokiFile::parseLine(), osl::kakinoki::strToMove(), and osl::kakinoki::strToPiece().

## selectCandidates()

void osl::record::KanjiMove::selectCandidates | ( | found_moves_t & | found,
|  | std::string & | str,
|  | const Square & | to_pos,
|  | const Player & | player ) const

private

Definition at line 277 of file kanjiMove.cc.

## setVerbose()

void osl::record::KanjiMove::setVerbose | ( | bool | verbose | ) |

inline

Definition at line 31 of file kanjiMove.h.

## strToMove()

const osl::Move osl::record::KanjiMove::strToMove | ( | const std::string & | orig,
|  | const NumEffectState & | state,
|  | const Move & | last_move ) const

Convert a Japanese string (one token) to a move object.

eliminate duplicate moves

Definition at line 360 of file kanjiMove.cc.

## toPtype()

osl::Ptype osl::record::KanjiMove::toPtype | ( | const std::string & | s | ) | const

Definition at line 268 of file kanjiMove.cc.

## toSquare()

osl::Square osl::record::KanjiMove::toSquare | ( | const std::string & | s | ) | const

Definition at line 259 of file kanjiMove.cc.

## Member Data Documentation

## str2piece

str2piece_t osl::record::KanjiMove::str2piece

private

Definition at line 47 of file kanjiMove.h.

## str2position

str2position_t osl::record::KanjiMove::str2position

private

Definition at line 45 of file kanjiMove.h.

## verbose

bool osl::record::KanjiMove::verbose

private

Definition at line 48 of file kanjiMove.h.

The documentation for this class was generated from the following files:

- kanjiMove.h
- kanjiMove.cc