00001 /* usiState.h 00002 */ 00003 #ifndef OSL_USISTATE_H 00004 #define OSL_USISTATE_H 00005 #include "osl/state/numEffectState.h" 00006 #include "osl/stl/vector.h" 00007 #include "osl/container/moveVector.h" 00008 00009 namespace osl 00010 { 00011 namespace game_playing 00012 { 00013 struct UsiState 00014 { 00015 SimpleState initial_state; 00016 vector<Move> moves; 00017 volatile bool aborted; 00018 00019 UsiState(); 00020 ~UsiState(); 00021 00022 void reset(const SimpleState&, const vector<Move>&); 00023 void parseUsi(const std::string&); 00024 void openFile(std::string); 00025 bool isSuccessorOf(const UsiState& parent); 00026 const NumEffectState currentState() const; 00027 00028 const std::string usiString() const; 00029 const std::string usiBoard() const; 00030 void parseIgnoreMoves(const std::string& line, 00031 MoveVector& ignore_moves) const; 00032 }; 00033 } 00034 using game_playing::UsiState; 00035 } 00036 00037 00038 #endif /* OSL_USISTATE_H */ 00039 // ;;; Local Variables: 00040 // ;;; mode:c++ 00041 // ;;; c-basic-offset:2 00042 // ;;; End: