All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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]

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. More...
 
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

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

Definition at line 263 of file kanjiMove.cc.

Member Function Documentation

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

Definition at line 505 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_RESIGN, 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

str2piece_t osl::record::KanjiMove::str2piece
private

Definition at line 55 of file kanjiMove.h.

Referenced by KanjiMove().

str2position_t osl::record::KanjiMove::str2position
private

Definition at line 53 of file kanjiMove.h.

Referenced by KanjiMove().

bool osl::record::KanjiMove::verbose
private

Definition at line 56 of file kanjiMove.h.

Referenced by setVerbose().


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