|
|
| version 1.216, 2016/08/15 15:33:16 | version 1.220, 2016/10/26 16:40:49 |
|---|---|
| Line 73 unsigned long long int pa_atoul(const ch | Line 73 unsigned long long int pa_atoul(const ch |
| class String: public PA_Object { | class String: public PA_Object { |
| friend class StringSplitHelper; | |
| public: | public: |
| /** piece is tainted or not. the lang to use when detaint | /** piece is tainted or not. the lang to use when detaint |
| Line 95 public: | Line 96 public: |
| L_CLEAN='0', ///< clean WARNING: read above warning before changing | L_CLEAN='0', ///< clean WARNING: read above warning before changing |
| L_AS_IS='A', ///< leave all characters intact WARNING: read above warning before changing | L_AS_IS='A', ///< leave all characters intact WARNING: read above warning before changing |
| L_PASS_APPENDED='P', | |
| /**< | |
| leave lang built into string being appended. | |
| just a flag, that value not stored | |
| */ | |
| L_TAINTED='T', ///< tainted, untaint lang as assigned later | L_TAINTED='T', ///< tainted, untaint lang as assigned later |
| // untaint langs. assigned by ^untaint[lang]{...} | // untaint langs. assigned by ^untaint[lang]{...} |
| L_FILE_SPEC='F', ///< file specification | L_FILE_SPEC='F', ///< file specification |
| Line 587 public: | Line 583 public: |
| return Body(x).ncmp(0/*x_begin*/, body, 0/*y_begin*/, length())==0; | return Body(x).ncmp(0/*x_begin*/, body, 0/*y_begin*/, length())==0; |
| } | } |
| String& append_to(String& dest) const; | |
| String& append_to(String& dest, Language lang, bool forced=false) const; | String& append_to(String& dest, Language lang, bool forced=false) const; |
| String& append(const String& src, Language lang, bool forced=false) { | String& append(const String& src, Language lang, bool forced=false) { |
| return src.append_to(*this, lang, forced); | return src.append_to(*this, lang, forced); |
| Line 599 public: | Line 596 public: |
| return *this; | return *this; |
| } | } |
| String& operator << (const String& src) { return append(src, L_PASS_APPENDED); } | String& operator << (const String& src) { return src.append_to(*this); } |
| String& operator << (const char* src) { return append_help_length(src, 0, L_AS_IS); } | String& operator << (const char* src) { return append_help_length(src, 0, L_AS_IS); } |
| String& operator << (const Body& src){ | String& operator << (const Body& src){ |
| langs.appendHelper(body, L_AS_IS, src); | langs.appendHelper(body, L_AS_IS, src); |
| Line 653 public: | Line 650 public: |
| return body.rskipchars(chars, left, right); | return body.rskipchars(chars, left, right); |
| } | } |
| void split(ArrayString& result, size_t& pos_after, const char* delim, Language lang=L_UNSPECIFIED, int limit=-1) const; | void split(ArrayString& result, size_t pos_after, const char* delim, Language lang=L_UNSPECIFIED) const; |
| void split(ArrayString& result, size_t& pos_after, const String& delim, Language lang=L_UNSPECIFIED, int limit=-1) const; | void split(ArrayString& result, size_t pos_after, const String& delim, Language lang=L_UNSPECIFIED) const; |
| typedef void (*Row_action)(Table& table, ArrayString* row, int prestart, int prefinish, int poststart, int postfinish, void *info); | typedef void (*Row_action)(Table& table, ArrayString* row, int prestart, int prefinish, int poststart, int postfinish, void *info); |