All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
osl::record::KanjiMove Class Reference

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

#include <kanjiMove.h>

Collaboration diagram for osl::record::KanjiMove:
Collaboration graph
[legend]

List of all members.

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 KanjiMoveinstance ()

Private Types

typedef std::list< Movefound_moves_t
typedef hash_map< std::string,
Square, boost::hash
< std::string > > 
str2position_t
typedef hash_map< std::string,
Ptype, boost::hash
< std::string > > 
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 "7六歩", the style of which is generally used to write Shogi records in Japanese.

Definition at line 27 of file kanjiMove.h.


Member Typedef Documentation

typedef std::list<Move> osl::record::KanjiMove::found_moves_t [private]

Definition at line 46 of file kanjiMove.h.

typedef hash_map<std::string, Ptype, boost::hash<std::string> > osl::record::KanjiMove::str2piece_t [private]

Definition at line 54 of file kanjiMove.h.

typedef hash_map<std::string, Square, boost::hash<std::string> > osl::record::KanjiMove::str2position_t [private]

Definition at line 52 of file kanjiMove.h.


Constructor & Destructor Documentation

Definition at line 263 of file kanjiMove.cc.


Member Function Documentation

Definition at line 500 of file kanjiMove.cc.

Referenced by osl::record::kakinokiParseLine().

void osl::record::KanjiMove::selectCandidates ( found_moves_t found,
std::string &  str,
const Square to_pos,
const Player player 
) const [private]
void osl::record::KanjiMove::setVerbose ( bool  verbose) [inline]

Definition at line 39 of file kanjiMove.h.

References verbose.

Referenced by osl::record::ki2::InputStream::InputStream().

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 369 of file kanjiMove.cc.

References osl::BLACK, osl::find(), osl::Move::INVALID(), osl::Move::isDrop(), osl::Move::isPromotion(), K_BLACK_SIGN, K_FUNARI, K_NARU, K_ONAZI, K_SPACE, K_UTSU, moves, osl::Move::oldPtype(), osl::Move::to(), verbose, and osl::WHITE.

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

Definition at line 268 of file kanjiMove.cc.

Referenced by osl::record::kakinoki::strToMove().


Member Data Documentation

Definition at line 55 of file kanjiMove.h.

Referenced by KanjiMove().

Definition at line 53 of file kanjiMove.h.

Referenced by KanjiMove().

Definition at line 56 of file kanjiMove.h.

Referenced by setVerbose().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines