00001 #ifndef __test_debug_extra_h__ 00002 #define __test_debug_extra_h__ 00003 00004 #include <iostream> 00005 #include <fstream> 00006 #include <string> 00007 00008 #include "debug.h" 00009 00010 #ifdef DEBUG 00011 class d_debug 00012 { 00013 public: 00014 d_debug(); 00015 ~d_debug(); 00016 00017 bool open(const std::string& a_filename); 00018 bool close(void); 00019 bool is_open(void); 00020 bool get_line(); 00021 bool str_equal(const std::string& a_str); 00022 bool str_begin(const std::string& a_str); 00023 bool str_end(const std::string& a_str); 00024 bool str_between( 00025 const std::string& a_str, 00026 std::string::size_type a_begin, 00027 std::string::size_type a_end 00028 ); 00029 bool str_wrap(const std::string& a_begin, const std::string& a_end); 00030 bool str_sandwich( 00031 const std::string& a_begin, 00032 const std::string& a_middle, 00033 const std::string& a_end 00034 ); 00035 00036 private: 00037 static const size_t m_buffer_size; 00038 char * m_buffer; 00039 std::string m_str; 00040 std::ifstream m_in; 00041 bool m_ok; 00042 00043 void mf_clear_buffer(void); 00044 }; 00045 00046 extern d_debug ddbg; 00047 #endif 00048 00049 #endif