8 #include <boost/algorithm/string/predicate.hpp>
9 #include <boost/algorithm/string/trim.hpp>
10 #include <boost/foreach.hpp>
32 return ! aborted && ! parent.
aborted
41 NumEffectState state(initial_state);
50 assert(line.find(
"position") == 0);
57 boost::algorithm::trim(filename);
58 boost::algorithm::trim_left(filename);
61 if (boost::algorithm::iends_with(filename,
".ki2"))
63 const Ki2File ki2(filename);
64 record = ki2.getRecord();
66 else if (boost::algorithm::iends_with(filename,
".kif"))
68 const KakinokiFile kif(filename);
69 record = kif.getRecord();
74 const CsaFile csa(filename.c_str());
75 record = csa.getRecord();
77 initial_state = record.getInitialState();
78 moves = record.getMoves();
85 ret.reserve(16+90+10+5*
moves.size());
99 std::string ret =
"position ";
106 MoveVector& ignore_moves)
const
108 assert(line.find(
"ignore_moves") == 0);
109 std::istringstream is(line);
112 NumEffectState state(currentState());
113 ignore_moves.clear();