My Project
kisen.h
Go to the documentation of this file.
1#ifndef OSL_KISEN_H
2#define OSL_KISEN_H
3
4#include "osl/record/record.h"
6#include <boost/date_time/gregorian/gregorian_types.hpp>
7#include <string>
8#include <iosfwd>
9#include <fstream>
10namespace osl
11{
12 namespace record
13 {
15 public:
16 static Square convertSquare( int pos );
17 static Move convertMove(SimpleState const& state,int c0,int c1 );
18 static int convertSquare(Square pos);
19 };
24 class KisenFile{
25 private:
27 std::ifstream ifs;
29 const std::string filename;
30 public:
31 static const size_t MaxMoves=256;
32 explicit KisenFile(const std::string& filename);
33 ~KisenFile();
34
35 size_t size() const{ return number_of_games; }
37 std::vector<Move> moves(size_t index);
38 std::string fileName() const { return filename; }
39 std::string ipxFileName() const { return ipxFileName(filename); }
40 static std::string ipxFileName(const std::string&);
41 };
68 std::ifstream ifs;
70 const std::string file_name;
71 public:
72 enum{
82 };
83 explicit KisenIpxFile(std::string const& filename);
85
86 size_t size() const{ return number_of_games; }
87 std::string player(size_t index,Player pl);
88 std::string title(size_t index,Player pl);
89 unsigned int rating(size_t index,Player pl);
90 unsigned int result(size_t index);
91 const std::string& fileName() const { return file_name; }
95 boost::gregorian::date startDate(size_t index);
96 };
102 private:
104 std::ifstream ifs;
106 public:
107 static const size_t maxMoves=256;
108 explicit KisenPlusFile(const std::string& fileName);
109 size_t size() const{ return number_of_games; }
111 std::vector<Move> moves(size_t index);
112 void load(size_t index, std::vector<Move>&, std::vector<int>&);
113 };
114
116 {
117 public:
118 KisenWriter(std::ostream &ostream) : os(ostream) { }
119 void save(const RecordMinimal&);
120 private:
121 std::ostream &os;
122 };
123
131 {
132 public:
133 KisenIpxWriter(std::ostream &ostream) : os(ostream) { }
134 void save(const Record &,
135 int black_rating, int white_rating,
136 const std::string &black_title,
137 const std::string &white_title);
138 private:
139 void writeString(const std::string &name, size_t length);
140 void writeRating(int rating);
141 void writeStartDate(int year, int month, int day, int hour, int min);
142 std::ostream &os;
143 };
144 } // namespace record
145 using record::KisenFile;
149} // namespace osl
150#endif // OSL_KISEN_H
151// ;;; Local Variables:
152// ;;; mode:c++
153// ;;; c-basic-offset:2
154// ;;; End:
圧縮していない moveの表現 .
利きを持つ局面
「.kif」という拡張子を持つ棋泉形式ファイル.
Definition kisen.h:24
std::string fileName() const
Definition kisen.h:38
static const size_t MaxMoves
Definition kisen.h:31
size_t number_of_games
Definition kisen.h:28
NumEffectState initial_state
Definition kisen.h:26
size_t size() const
Definition kisen.h:35
std::vector< Move > moves(size_t index)
Definition kisen.cc:94
const std::string filename
Definition kisen.h:29
std::string ipxFileName() const
Definition kisen.h:39
NumEffectState initialState() const
Definition kisen.h:36
std::ifstream ifs
Definition kisen.h:27
「.ipx」という拡張子を持つ棋泉形式ファイル.
Definition kisen.h:67
boost::gregorian::date startDate(size_t index)
開始日の年月日を返す
Definition kisen.cc:183
const std::string & fileName() const
Definition kisen.h:91
std::ifstream ifs
Definition kisen.h:68
size_t size() const
Definition kisen.h:86
std::string player(size_t index, Player pl)
Definition kisen.cc:139
std::string title(size_t index, Player pl)
Definition kisen.cc:170
unsigned int result(size_t index)
Definition kisen.cc:162
const std::string file_name
Definition kisen.h:70
「.ipx」という拡張子を持つ棋泉形式ファイル.
Definition kisen.h:131
void save(const Record &, int black_rating, int white_rating, const std::string &black_title, const std::string &white_title)
Definition kisen.cc:365
void writeStartDate(int year, int month, int day, int hour, int min)
Definition kisen.cc:352
std::ostream & os
Definition kisen.h:142
void writeRating(int rating)
Definition kisen.cc:344
void writeString(const std::string &name, size_t length)
Definition kisen.cc:328
KisenIpxWriter(std::ostream &ostream)
Definition kisen.h:133
「.kpf」という拡張子を持つ棋泉プラス形式ファイル.
Definition kisen.h:101
NumEffectState initialState() const
Definition kisen.h:110
static const size_t maxMoves
Definition kisen.h:107
NumEffectState initial_state
Definition kisen.h:103
void load(size_t index, std::vector< Move > &, std::vector< int > &)
Definition kisen.cc:221
std::ifstream ifs
Definition kisen.h:104
std::vector< Move > moves(size_t index)
Definition kisen.cc:213
size_t size() const
Definition kisen.h:109
static Move convertMove(SimpleState const &state, int c0, int c1)
Definition kisen.cc:18
static Square convertSquare(int pos)
Definition kisen.cc:8
std::ostream & os
Definition kisen.h:121
void save(const RecordMinimal &)
Definition kisen.cc:283
KisenWriter(std::ostream &ostream)
Definition kisen.h:118
Player
Definition basic_type.h:8