/** \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start position and stops at end position. */
returnthis->substr(start, end - start + 1).MyBaseClass::ends_with(suffix);
}
/** \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start of string and stops at end position. */
/** \brief Returns true if the string ends with any of the specified suffixes, otherwise returns false. Test begins at start position and stops at end position. */
/** \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at start position and stops after count positions. */
/** \brief Returns true if the string ends with the specified suffix, otherwise returns false. Test begins at position 0 and stops after count positions. */
/** \brief Returns true if the string ends with any of the specified suffixes, otherwise returns false. Test begins at start position and stops after count positions. */
/** \brief Returns a copy of the string where all tab characters are replaced by one or more spaces, depending on the current column and the given tab size. */
/** \brief Returns the lowest index in the string where substring sub is found within the slice str[start:end], or -1 (i.e. 'npos') if sub is not found.
*
* Note: this method should be used only if you need to know the position of
* sub. To check if sub is a substring or not, use the method contains().
*
* CAUTION: empty substrings are considered to be in the string if start and
* end positions are both less than the string size and if start <= end.
*
* \see find_n(), rfind() and rfind_n().
* \see index(), index_n(), rindex() and rindex_n().
/** \brief Returns the lowest index in the string where substring sub is found within the slice str[start:start+count-1], or -1 (i.e. 'npos') if sub is not found.
*
* Note: this method should be used only if you need to know the position of
* sub. To check if sub is a substring or not, use the method contains_n().
*
* CAUTION: empty substrings are considered to be in the string if start and
* end positions are both less than the string size and if start <= end. The
* returned position is 0.
*
* \see find(), rfind() and rfind_n().
* \see index(), index_n(), rindex() and rindex_n().
/** \brief Returns the lowest index in the string where substring sub is found within the slice str[0:count-1], or -1 (i.e. 'npos') if sub is not found.
*
* Note: this method should be used only if you need to know the position of
* sub. To check if sub is a substring or not, use the method contains_n().
*
* CAUTION: empty substrings are considered to be in the string if start and
* end positions are both less than the string size and if start <= end. The
* returned position is 0.
*
* \see find(), rfind() and rfind_n().
* \see index(), index_n(), rindex() and rindex_n().
/** \brief Returns true if the string is not empty and is a valid identifier according to the language definition, or false otherwise.
*
* CAUTION: the current implementation of this method does not deal with the proper c++
* defintiion of identifiers (see https://en.cppreference.com/w/cpp/language/identifiers
* and https://www.unicode.org/reports/tr31/#Table_Lexical_Classes_for_Identifiers).
*
* While the specification of identifiers in c++ is this one:
*
* identifier ::= XID_Start XID_Continue*
* XID_Start ::= ID_Start XID_Continue*
* ID_Start ::= <characters derived from the Unicode General_Category of uppercase letters, lowercase letters, titlecase letters, modifier letters, other letters, letter numbers, plus Other_ID_Start, minus Pattern_Syntax and Pattern_White_Space code points>
* XID_Continue ::= <characters derived from ID_Continue as per Unicode specs Section 5.1, NFKC Modifications (https://www.unicode.org/reports/tr31/#NFKC_Modifications)>
* ID_Continue ::= ID_Start | <characters having the Unicode General_Category of nonspacing marks, spacing combining marks, decimal number, connector punctuation, plus Other_ID_Continue, minus Pattern_Syntax and Pattern_White_Space code points>
*
* the currently implemented rule is this simpler one:
/** \brief Returns true if there are only whitespace and punctuation characters in the string and there is at least one character, or false otherwise. */