Go to the documentation of this file.00001
00002
00003 #ifndef OSL_SEARCHMONITOR_H
00004 #define OSL_SEARCHMONITOR_H
00005 #include "osl/move.h"
00006 #include "osl/misc/cstdint.h"
00007 namespace osl
00008 {
00009 namespace search
00010 {
00011 class SearchMonitor
00012 {
00013 public:
00014 virtual ~SearchMonitor();
00015
00016 virtual void newDepth(int depth);
00017 virtual void showPV(int depth, size_t node_count, double elapsed, int value, Move cur, const Move *first, const Move *last,
00018 const bool *threatmate_first, const bool *threatmate_last);
00019 virtual void showFailLow(int depth, size_t node_count, double elapsed, int value, Move cur);
00020 virtual void rootMove(Move cur);
00021 virtual void rootFirstMove(Move cur);
00022 virtual void timeInfo(size_t node_count, double elapsed);
00023 virtual void hashInfo(double ratio);
00024 virtual void rootForcedMove(Move the_move);
00025 virtual void rootLossByCheckmate();
00026 virtual void depthFinishedNormally(int depth);
00027 virtual void searchFinished();
00028 };
00029 }
00030 using search::SearchMonitor;
00031 }
00032
00033 #endif
00034
00035
00036
00037