speculativeModel.h
Go to the documentation of this file.
00001 /* speculativeModel.h
00002  */
00003 #ifndef OSL_SPECULATIVEMODEL_H
00004 #define OSL_SPECULATIVEMODEL_H
00005 
00006 #include "osl/game_playing/computerPlayer.h"
00007 #include "osl/search/searchTimer.h"
00008 #include <boost/shared_ptr.hpp>
00009 
00010 namespace osl
00011 {
00012   namespace game_playing
00013   {
00014     class SearchPlayer;
00018     class SpeculativeModel
00019     {
00020     public:
00021       virtual ~SpeculativeModel();
00022 
00023       virtual void setMaxThreads(int);
00024 
00025       virtual void startSpeculative(const boost::shared_ptr<GameState> state,
00026                                     const SearchPlayer& main_player)=0;
00027       virtual void stopOtherThan(Move)=0;
00028       virtual void stopAll()=0;
00029       virtual const HashKey searchState() const=0;
00030 
00034       virtual const MoveWithComment waitResult(Move last_move, search::TimeAssigned,
00035                                                SearchPlayer& main_player,
00036                                                int byoyomi)=0;
00037 
00038       virtual void selectBestMoveCleanUp()=0;
00039       void clearResource();
00040     };
00041   } // game_playing
00042 } // osl
00043 
00044 #endif /* OSL_SPECULATIVEMODEL_H */
00045 // ;;; Local Variables:
00046 // ;;; mode:c++
00047 // ;;; c-basic-offset:2
00048 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines