00001 /* tableAnalyzer.h 00002 */ 00003 #ifndef _TABLE_ANALYZER_H 00004 #define _TABLE_ANALYZER_H 00005 00006 #include "osl/hash/hashKey.h" 00007 #include <iosfwd> 00008 00009 namespace osl 00010 { 00011 namespace search 00012 { 00013 class SimpleHashTable; 00014 class SimpleHashRecord; 00015 class SearchMoveList; 00016 namespace analyzer 00017 { 00028 class TableAnalyzer 00029 { 00030 const SimpleHashTable& table; 00031 std::ostream & os; 00032 public: 00033 TableAnalyzer(const SimpleHashTable&, std::ostream&); 00034 ~TableAnalyzer(); 00035 00045 void examineTopLevel(const HashKey& key, int num_print_moves) const; 00052 void examineUpperBounds(const HashKey& key, int num_print_moves) const; 00053 00054 static void makeBestMoveList(const SimpleHashRecord *, SearchMoveList&, 00055 int max); 00056 }; 00057 } // namespace analyzer 00058 } // namespace search 00059 using search::analyzer::TableAnalyzer; 00060 } // namespace osl 00061 00062 #endif /* _TABLE_ANALYZER_H */ 00063 // ;;; Local Variables: 00064 // ;;; mode:c++ 00065 // ;;; c-basic-offset:2 00066 // ;;; End: