--- parser3/src/include/pa_string.h 2016/09/07 14:40:07 1.217 +++ parser3/src/include/pa_string.h 2016/09/08 20:41:48 1.219 @@ -8,7 +8,7 @@ #ifndef PA_STRING_H #define PA_STRING_H -#define IDENT_PA_STRING_H "$Id: pa_string.h,v 1.217 2016/09/07 14:40:07 moko Exp $" +#define IDENT_PA_STRING_H "$Id: pa_string.h,v 1.219 2016/09/08 20:41:48 moko Exp $" // includes #include "pa_types.h" @@ -73,6 +73,7 @@ unsigned long long int pa_atoul(const ch class String: public PA_Object { + friend class StringSplitHelper; public: /** piece is tainted or not. the lang to use when detaint @@ -486,7 +487,7 @@ public: size_t* out_start=0, size_t* out_length=0, Charset* source_charset=0) const; }; -protected: +private: Body body; ///< all characters of string Languages langs; ///< string characters lang @@ -653,8 +654,8 @@ public: 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 String& 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) const; typedef void (*Row_action)(Table& table, ArrayString* row, int prestart, int prefinish, int poststart, int postfinish, void *info);