00001 #ifndef _PROOFTREEDEPTH_H 00002 #define _PROOFTREEDEPTH_H 00003 #include <boost/scoped_ptr.hpp> 00004 namespace osl 00005 { 00006 namespace checkmate 00007 { 00008 class CheckHashRecord; 00009 namespace analyzer 00010 { 00016 class ProofTreeDepth 00017 { 00018 class Table; 00019 boost::scoped_ptr<Table> table; 00020 public: 00021 ProofTreeDepth(); 00022 ~ProofTreeDepth(); 00023 int depth(const CheckHashRecord *record, bool is_or_node) const; 00024 private: 00025 int orNode(const CheckHashRecord *record) const; 00026 int andNode(const CheckHashRecord *record) const; 00027 }; 00028 } // namespace analyzer 00029 } // namespace checkmate 00030 } 00031 00032 #endif /* _PROOFTREEDEPTH_H */ 00033 // ;;; Local Variables: 00034 // ;;; mode:c++ 00035 // ;;; c-basic-offset:2 00036 // ;;; End: