My Project
record.h
Go to the documentation of this file.
1#ifndef _RECORD_H
2#define _RECORD_H
5#include "osl/csa.h"
6#include <boost/date_time/gregorian/gregorian_types.hpp>
7#include <boost/ptr_container/ptr_vector.hpp>
8#include <iosfwd>
9
10namespace osl
11{
12 namespace record
13 {
14 struct Record
15 {
24 std::vector<int> times;
25 std::vector<std::string> comments;
26 std::vector<SearchInfo> move_info;
27
31 boost::gregorian::date start_date; // default : not_a_date_time
32
33 Record();
34 ~Record();
35 static void addWithNewLine(std::string& a, const std::string& b) {
36 if (! a.empty())
37 a += "\n";
38 a += b;
39 }
41 std::vector<Move> moves() const { return record.moves; }
42
43 void setDate(const std::string& date_str);
44 void setMoveComment(const std::string&);
45 void setMoveInfo(const SearchInfo&);
46 void setMoveTime(int);
47 Move lastMove() const { return moves().empty() ? Move() : moves().back(); }
48
49 void load(std::vector<Move>& moves, std::vector<int>& times) const {
51 times = this->times;
52 }
53 void load(std::vector<Move>& moves, std::vector<int>& times,
54 std::vector<std::string>& comments,
55 std::vector<SearchInfo>& move_info) const {
57 comments = this->comments;
58 move_info = this->move_info;
59 }
60 };
61 std::ostream& operator<<(std::ostream& os, const Record & r);
62
64 {
65 protected:
67 public:
68 virtual ~RecordFile();
69 Record load() const { return record; }
70 const NumEffectState initialState() const { return record.initialState(); }
71 const std::vector<Move> moves() const { return record.moves(); }
72 };
73 }
74 using record::SearchInfo;
75 using record::Record;
76 using record::RecordFile;
77} // namespace osl
78#endif /* _RECORD_H */
79// ;;; Local Variables:
80// ;;; mode:c++
81// ;;; c-basic-offset:2
82// ;;; End:
圧縮していない moveの表現 .
利きを持つ局面
Record load() const
Definition record.h:69
const std::vector< Move > moves() const
Definition record.h:71
const NumEffectState initialState() const
Definition record.h:70
std::ostream & operator<<(std::ostream &os, const Color &c)
NumEffectState initial_state
Definition csa.h:44
std::vector< Move > moves
Definition csa.h:45
std::string tournament_name
Definition record.h:28
RecordMinimal record
Definition record.h:16
ResultType result
Definition record.h:30
std::string version
Definition record.h:28
static void addWithNewLine(std::string &a, const std::string &b)
Definition record.h:35
Move lastMove() const
Definition record.h:47
std::string initial_comment
Definition record.h:28
void load(std::vector< Move > &moves, std::vector< int > &times) const
Definition record.h:49
void setMoveInfo(const SearchInfo &)
Definition record.cc:26
std::vector< Move > moves() const
Definition record.h:41
std::vector< int > times
Definition record.h:24
void setMoveTime(int)
Definition record.cc:33
void setDate(const std::string &date_str)
Definition record.cc:39
void setMoveComment(const std::string &)
Definition record.cc:17
CArray< std::string, 2 > player
Definition record.h:29
NumEffectState initialState() const
Definition record.h:40
std::vector< SearchInfo > move_info
Definition record.h:26
std::vector< std::string > comments
Definition record.h:25
boost::gregorian::date start_date
Definition record.h:31
void load(std::vector< Move > &moves, std::vector< int > &times, std::vector< std::string > &comments, std::vector< SearchInfo > &move_info) const
Definition record.h:53