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 parseUsi(const std::string&); 00023 void openFile(std::string); 00024 bool isSuccessorOf(const UsiState& parent); 00025 const NumEffectState currentState() const; 00026 00027 const std::string usiString() const; 00028 const std::string usiBoard() const; 00029 void parseIgnoreMoves(const std::string& line, 00030 MoveVector& ignore_moves) const; 00031 }; 00032 } 00033 using game_playing::UsiState; 00034 } 00035 00036 00037 #endif /* OSL_USISTATE_H */ 00038 // ;;; Local Variables: 00039 // ;;; mode:c++ 00040 // ;;; c-basic-offset:2 00041 // ;;; End: