Diff for /parser3/src/include/pa_string.h between versions 1.216 and 1.220

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);
   

Removed from v.1.216  
changed lines
  Added in v.1.220


E-mail: