--- parser3/src/include/pa_string.h 2024/03/14 03:17:01 1.232 +++ parser3/src/include/pa_string.h 2025/05/25 16:36:13 1.235 @@ -1,14 +1,14 @@ /** @file Parser: string class decl. - Copyright (c) 2001-2023 Art. Lebedev Studio (http://www.artlebedev.com) + Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com) Authors: Konstantin Morshnev , Alexandr Petrosian */ #ifndef PA_STRING_H #define PA_STRING_H -#define IDENT_PA_STRING_H "$Id: pa_string.h,v 1.232 2024/03/14 03:17:01 moko Exp $" +#define IDENT_PA_STRING_H "$Id: pa_string.h,v 1.235 2025/05/25 16:36:13 moko Exp $" // includes #include "pa_types.h" @@ -401,8 +401,6 @@ public: } - static Body Format(int value); - void clear() { ZERO_LENGTH ZERO_HASH_CODE body=CORD_EMPTY; } bool operator! () const { return is_empty(); } @@ -652,17 +650,14 @@ public: String& mid(size_t substr_begin, size_t substr_end) const; String& mid(Charset& charset, size_t from, size_t to, size_t helper_length=0) const; - /** - ignore lang if it's L_UNSPECIFIED - but when specified: look for substring that lies in ONE fragment in THAT lang - @return position of substr in string, -1 means "not found" [const char* version] - */ - size_t pos(const Body substr, size_t this_offset=0, Language lang=L_UNSPECIFIED) const; - /// String version of @see pos(const char*, int, Language) - size_t pos(const String& substr, size_t this_offset=0, Language lang=L_UNSPECIFIED) const; - size_t pos(char c, size_t this_offset=0) const { - return body.pos(c, this_offset); - } + /// return position of substr in string, -1 means "not found" [const char* version] + size_t pos(const char* substr, size_t this_offset=0) const { return body.pos(substr, this_offset); } + size_t pos(const Body substr, size_t this_offset=0) const { return body.pos(substr, this_offset); } + size_t pos(const String& substr, size_t this_offset=0) const { return body.pos(substr.body, this_offset); } + size_t pos(char c, size_t this_offset=0) const { return body.pos(c, this_offset); } + /// ignore lang if it's L_UNSPECIFIED, otherwise look for substring that lies in ONE fragment in THAT lang + size_t pos(const Body substr, size_t this_offset, Language lang) const; + size_t pos(const String& substr, size_t this_offset, Language lang) const; size_t pos(Charset& charset, const String& substr, size_t this_offset=0, Language lang=L_UNSPECIFIED) const; size_t strrpbrk(const char* chars, size_t left=0) const {