00001 /* dotWriter.h 00002 */ 00003 #ifndef _DOTWRITER_H 00004 #define _DOTWRITER_H 00005 00006 #include "osl/search/analyzer/logWriter.h" 00007 #include <boost/scoped_ptr.hpp> 00008 00009 namespace osl 00010 { 00011 namespace hash 00012 { 00013 class HashKey; 00014 } 00015 namespace search 00016 { 00017 class SimpleHashTable; 00018 00019 namespace analyzer 00020 { 00021 class RecordSet; 00025 class DotWriter : public LogWriter 00026 { 00031 boost::scoped_ptr<RecordSet> written; 00032 std::ostream& os; 00033 public: 00034 explicit DotWriter(std::ostream& os); 00035 ~DotWriter(); 00036 void showNode(Player turn, const SimpleHashRecord *record, 00037 int limit, NodeType type) const; 00038 void showNodeQuiescence(Player turn, 00039 const SimpleHashRecord *record, 00040 int limit, NodeType type) const; 00041 void showArc(const SimpleHashRecord *from, 00042 const SimpleHashRecord *to, 00043 const MoveLogProb& move, bool important) const; 00044 void showComment(const char *line) const; 00045 }; 00046 } // namespace analyzer 00047 } // namespace search 00048 } // namespace osl 00049 00050 #endif /* _DOTWRITER_H */ 00051 // ;;; Local Variables: 00052 // ;;; mode:c++ 00053 // ;;; c-basic-offset:2 00054 // ;;; End: