Files Classes Functions Hierarchy
00001 #ifndef STRINGTAGPARSER_H 00002 #define STRINGTAGPARSER_H 00003 00004 #include <string> 00005 using namespace std; 00006 00007 #include <stringconvert.h> 00008 00068 class stringtagparser 00069 { 00070 stringtagparser() {} 00071 public: 00072 00074 stringtagparser(stringc & arg_); 00075 00077 string arg; 00078 00081 bool tagfound; 00082 00084 stringc data( stringc& tag1 ); 00086 stringc data( stringc& tag1, stringc& tag2 ); 00088 stringc data( stringc& tag1, stringc& tag2, stringc& tag3 ); 00090 stringc data( stringc& tag1, stringc& tag2, stringc& tag3, stringc& tag4 ); 00092 stringc data( stringc& tag1, stringc& tag2, stringc& tag3, stringc& tag4, stringc& tag5 ); 00094 stringc data( stringc& tag1, stringc& tag2, stringc& tag3, stringc& tag4, stringc& tag5, stringc& tag6 ); 00095 00098 stringc data_with_tags( stringc & tag1 ) const; 00099 }; 00100 00101 00102 00103 00107 class stringtagiter : public stringtagparser 00108 { 00110 string tagbeg; 00112 string tagend; 00114 string data; 00116 string dataunprocessed; 00118 bool res; 00119 00121 void extractbetweentag( stringc str); 00122 public: 00123 00125 string tag; 00126 00128 stringtagiter(stringc & arg_, stringc & tag_); 00129 00131 void reset(); 00132 00134 void operator ++(); 00135 00137 boolc operator ! () 00138 { return res; } 00140 stringc operator () () 00141 { return data; } 00142 00143 }; 00144 00145 00146 #endif 00147
1.5.8