00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef _SOCKETS_Parse_H
00035 #define _SOCKETS_Parse_H
00036
00037 #include "sockets-config.h"
00038 #ifdef _MSC_VER
00039 #pragma warning(disable:4514)
00040 #endif
00041
00042 #include <string>
00043
00044 #ifdef SOCKETS_NAMESPACE
00045 namespace SOCKETS_NAMESPACE {
00046 #endif
00047
00048
00049
00050
00051
00054 class Parse
00055 {
00056 public:
00057 Parse();
00058 Parse(const std::string&);
00059 Parse(const std::string&,const std::string&);
00060 Parse(const std::string&,const std::string&,short);
00061 ~Parse();
00062 short issplit(const char);
00063 void getsplit();
00064 void getsplit(std::string&);
00065 std::string getword();
00066 void getword(std::string&);
00067 void getword(std::string&,std::string&,int);
00068 std::string getrest();
00069 void getrest(std::string&);
00070 long getvalue();
00071 void setbreak(const char);
00072 int getwordlen();
00073 int getrestlen();
00074 void enablebreak(const char c) {
00075 pa_enable = c;
00076 }
00077 void disablebreak(const char c) {
00078 pa_disable = c;
00079 }
00080 void getline();
00081 void getline(std::string&);
00082 size_t getptr() { return pa_the_ptr; }
00083 void EnableQuote(bool b) { pa_quote = b; }
00084
00085 private:
00086 std::string pa_the_str;
00087 std::string pa_splits;
00088 std::string pa_ord;
00089 size_t pa_the_ptr;
00090 char pa_breakchar;
00091 char pa_enable;
00092 char pa_disable;
00093 short pa_nospace;
00094 bool pa_quote;
00095 };
00096
00097
00098 #ifdef SOCKETS_NAMESPACE
00099 }
00100 #endif
00101
00102 #endif // _SOCKETS_Parse_H
00103