00001 #ifndef _CSA_H
00002 #define _CSA_H
00003
00004 #include "osl/piece.h"
00005 #include "osl/move.h"
00006 #include <string>
00007 #include <iosfwd>
00008 namespace osl
00009 {
00010 namespace state
00011 {
00012 class SimpleState;
00013 }
00014 namespace record
00015 {
00020 namespace csa
00021 {
00022 struct CsaIOError;
00023
00024 const Move strToMove(const std::string& s,const state::SimpleState& st);
00025 Player charToPlayer(char c);
00026 const Position strToPos(const std::string& s);
00027 Ptype strToPtype(const std::string& s);
00028
00029 const std::string show(Move);
00030 const std::string show(Position);
00031 const std::string show(Ptype);
00032 const std::string show(Piece);
00033 const std::string show(Player);
00034
00035 const std::string show(Move, std::string& buf);
00036 const std::string show(Position, std::string& buf, size_t offset=0);
00037 const std::string show(Ptype, std::string& buf, size_t offset=0);
00038 const std::string show(Player, std::string& buf, size_t offset=0);
00039 }
00040 }
00041
00042
00043
00044 std::ostream& csaShow(std::ostream& os, Move move);
00045 std::ostream& csaShow(std::ostream&, Position);
00046 std::ostream& csaShow(std::ostream& os, Piece piece);
00047 std::ostream& csaShow(std::ostream& os, Ptype ptype);
00048
00049 }
00050 #endif
00051
00052
00053
00054