bsl::basic_string<char>::compare

compare overloads

Synopses

Declared in <bslstl_string.h>

Lexicographically compare this string with the specified other string, and return a negative value if this string is less than other, a positive value if it is greater than other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. See {Lexicographical Comparisons}.

int
compare(basic_string<char> const& other) const noexcept;
» more...

Lexicographically compare this string with the specified null-terminated other string (of length CHAR_TRAITS::length(other)), and return a negative value if this string is less than other, a positive value if it is greater than other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. See {Lexicographical Comparisons}.

int
compare(char const* other) const;
» more...

Lexicographically compare this string with the specified other, and return a negative value if this string is less than other, a positive value if it is greater than other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. See {Lexicographical Comparisons}. The behavior is undefined unless the conversion from STRING_VIEW_LIKE_TYPE to bsl::basic_string_view<CHAR_TYPE, CHAR_TRAITS> does not throw any exception. Note that this behavior differs from the behavior implemented in the standard container, where the following noexcept specification is used: ` noexcept( std::is_nothrow_convertible_v<const T&, std::basic_string_view<CharT, Traits> >) `

template<class STRING_VIEW_LIKE_TYPE>
int
compare(STRING_VIEW_LIKE_TYPE const& other) const noexcept(true);
» more...

Lexicographically compare the substring of this string of the specified lhsNumChars length starting at the specified lhsPosition (or the suffix of this string starting at lhsPosition if lhsPosition + lhsNumChars > length()) with the specified null-terminated other string (of length CHAR_TRAITS::length(other)), and return a negative value if the indicated substring of this string is less than other, a positive value if it is greater than other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. Throw out_of_range if lhsPosition > length(). See {Lexicographical Comparisons}.

int
compare(
    size_type lhsPosition,
    size_type lhsNumChars,
    char const* other) const;
» more...

Lexicographically compare the substring of this string of the specified numChars length starting at the specified position (or the suffix of this string starting at position if position + numChars > length()) with the specified other string, and return a negative value if the indicated substring of this string is less than other, a positive value if it is greater than other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. See {Lexicographical Comparisons}. Throw out_of_range if position > length().

int
compare(
    size_type position,
    size_type numChars,
    basic_string<char> const& other) const;
» more...

Lexicographically compare the substring of this string of the specified numChars length starting at the specified position (or the suffix of this string starting at position if position + numChars > length()) with the specified other, and return a negative value if the indicated substring of this string is less than other, a positive value if it is greater than other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. See {Lexicographical Comparisons}. Throw out_of_range if position > length().

template<class STRING_VIEW_LIKE_TYPE>
int
compare(
    size_type position,
    size_type numChars,
    STRING_VIEW_LIKE_TYPE const& other) const;
» more...

Lexicographically compare the substring of this string of the specified lhsNumChars length starting at the specified lhsPosition (or the suffix of this string starting at lhsPosition if lhsPosition + lhsNumChars > length()) with the specified other string of the specified otherNumChars length, and return a negative value if the indicated substring of this string is less than other, a positive value if it is greater than other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. Throw out_of_range if lhsPosition > length(). See {Lexicographical Comparisons}.

int
compare(
    size_type lhsPosition,
    size_type lhsNumChars,
    char const* other,
    size_type otherNumChars) const;
» more...

Lexicographically compare the substring of this string of the specified lhsNumChars length starting at the specified lhsPosition (or the suffix of this string starting at lhsPosition if lhsPosition + lhsNumChars > length()) with the substring of the specified other string of the optionally specified otherNumChars length starting at the specified otherPosition (or the suffix of other starting at otherPosition if otherPosition + otherNumChars > other.length()). If numChars is not specified, npos is used. Return a negative value if the indicated substring of this string is less than the indicated substring of other, a positive value if it is greater than the indicated substring of other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. Throw out_of_range if lhsPosition > length() or otherPosition > other.length(). See {Lexicographical Comparisons}.

int
compare(
    size_type lhsPosition,
    size_type lhsNumChars,
    basic_string<char> const& other,
    size_type otherPosition,
    size_type otherNumChars = npos) const;
» more...

Lexicographically compare the substring of this string of the specified lhsNumChars length starting at the specified lhsPosition (or the suffix of this string starting at lhsPosition if lhsPosition + lhsNumChars > length()) with the substring of the specified other of the optionally specified otherNumChars length starting at the specified otherPosition (or the suffix of other starting at otherPosition if otherPosition + otherNumChars > other.length()). If numChars is not specified, npos is used. Return a negative value if the indicated substring of this string is less than the indicated substring of other, a positive value if it is greater than the indicated substring of other, and 0 in case of equality. CHAR_TRAITS::lt is used to compare characters. See {Lexicographical Comparisons}. Throw out_of_range if lhsPosition > length() or otherPosition > other.length().

template<class STRING_VIEW_LIKE_TYPE>
int
compare(
    size_type lhsPosition,
    size_type lhsNumChars,
    STRING_VIEW_LIKE_TYPE const& other,
    size_type otherPosition,
    size_type otherNumChars = npos) const;
» more...