00001
00002
00003 #ifndef _LOGWRITER_H
00004 #define _LOGWRITER_H
00005
00006 #include "osl/move.h"
00007 #include <iosfwd>
00008
00009 namespace osl
00010 {
00011 class MoveLogProb;
00012 namespace search
00013 {
00014 class SimpleHashRecord;
00015 namespace analyzer
00016 {
00022 class LogWriter
00023 {
00024 public:
00025 enum NodeType { NORMAL=0, IMPORTANT=1, ABNORMAL=2, };
00026 LogWriter();
00027 virtual ~LogWriter();
00031 virtual void showNode(Player turn, const SimpleHashRecord *record,
00032 int limit, NodeType type) const = 0;
00033 virtual void showNodeQuiescence(Player turn,
00034 const SimpleHashRecord *record,
00035 int limit, NodeType type) const = 0;
00036 virtual void showArc(const SimpleHashRecord *from,
00037 const SimpleHashRecord *to,
00038 const MoveLogProb& move, bool important) const = 0;
00039 virtual void showComment(const char *) const {}
00040 };
00041 }
00042 }
00043 }
00044
00045 #endif
00046
00047
00048
00049