const charT* c_str() const noexcept;
const charT* data() const noexcept;
Returns: A pointer
p such that
p + i == &operator[](i) for each
i in
[0, size()]. Complexity: Constant time
. Requires:
The program shall not alter any of the values stored in the character array
. charT* data() noexcept;
Returns: A pointer
p such that
p + i == &operator[](i) for each
i in
[0, size()]. Complexity: Constant time
. Requires:
The program shall not alter the value stored at
p + size(). operator basic_string_view<charT, traits>() const noexcept;
Effects: Equivalent to:
return basic_string_view<charT, traits>(data(), size());
allocator_type get_allocator() const noexcept;
Returns:
A copy of the
Allocator
object used to construct the string or, if that allocator has been replaced, a
copy of the most recent replacement
. size_type find(basic_string_view<charT, traits> sv, size_type pos = 0) const noexcept;
Effects:
Determines the lowest position
xpos, if possible, such that both of
the following conditions hold:
Returns:
xpos if the function can determine such a value for
xpos. size_type find(const basic_string& str, size_type pos = 0) const noexcept;
Effects:
Equivalent to: return find(basic_string_view<charT, traits>(str), pos);
size_type find(const charT* s, size_type pos, size_type n) const;
Returns:
find(basic_string_view<charT, traits>(s, n), pos). size_type find(const charT* s, size_type pos = 0) const;
Requires: s points to an array of at least
traits::length(s) + 1
elements of
charT. Returns:
find(basic_string_view<charT, traits>(s), pos). size_type find(charT c, size_type pos = 0) const;
Returns:
find(basic_string(1, c), pos). size_type rfind(basic_string_view<charT, traits> sv, size_type pos = npos) const noexcept;
Effects:
Determines the highest position
xpos, if possible, such that both of
the following conditions hold:
Returns:
xpos if the function can determine such a value for
xpos. size_type rfind(const basic_string& str, size_type pos = npos) const noexcept;
Effects:
Equivalent to: return rfind(basic_string_view<charT, traits>(str), pos);
size_type rfind(const charT* s, size_type pos, size_type n) const;
Returns:
rfind(basic_string_view<charT, traits>(s, n), pos). size_type rfind(const charT* s, size_type pos = npos) const;
Requires: s points to an array of at least
traits::length(s) + 1
elements of
charT. Returns:
rfind(basic_string_view<charT, traits>(s), pos). size_type rfind(charT c, size_type pos = npos) const;
Returns:
rfind(basic_string(1, c), pos). size_type find_first_of(basic_string_view<charT, traits> sv, size_type pos = 0) const noexcept;
Effects:
Determines the lowest position xpos, if possible, such that both of
the following conditions hold:
Returns:
xpos if the function can determine such a value for
xpos. size_type find_first_of(const basic_string& str, size_type pos = 0) const noexcept;
Effects:
Equivalent to: return find_first_of(basic_string_view<charT, traits>(str), pos);
size_type find_first_of(const charT* s, size_type pos, size_type n) const;
Returns:
find_first_of(basic_string_view<charT, traits>(s, n), pos). size_type find_first_of(const charT* s, size_type pos = 0) const;
Requires: s points to an array of at least
traits::length(s) + 1
elements of
charT. Returns:
find_first_of(basic_string_view<charT, traits>(s), pos). size_type find_first_of(charT c, size_type pos = 0) const;
Returns:
find_first_of(basic_string(1, c), pos). size_type find_last_of(basic_string_view<charT, traits> sv, size_type pos = npos) const noexcept;
Effects:
Determines the highest position
xpos, if possible, such that both of
the following conditions hold:
Returns:
xpos if the function can determine such a value for
xpos. size_type find_last_of(const basic_string& str, size_type pos = npos) const noexcept;
Effects:
Equivalent to: return find_last_of(basic_string_view<charT, traits>(str), pos);
size_type find_last_of(const charT* s, size_type pos, size_type n) const;
Returns:
find_last_of(basic_string_view<charT, traits>(s, n), pos). size_type find_last_of(const charT* s, size_type pos = npos) const;
Requires: s points to an array of at least
traits::length(s) + 1
elements of
charT. Returns:
find_last_of(basic_string_view<charT, traits>(s), pos). size_type find_last_of(charT c, size_type pos = npos) const;
Returns:
find_last_of(basic_string(1, c), pos). size_type find_first_not_of(basic_string_view<charT, traits> sv,
size_type pos = 0) const noexcept;
Effects:
Determines the lowest position
xpos, if possible, such that both of
the following conditions hold:
Returns:
xpos if the function can determine such a value for
xpos. size_type find_first_not_of(const basic_string& str, size_type pos = 0) const noexcept;
Effects:
Equivalent to:
return find_first_not_of(basic_string_view<charT, traits>(str), pos);
size_type find_first_not_of(const charT* s, size_type pos, size_type n) const;
Returns:
find_first_not_of(basic_string_view<charT, traits>(s, n), pos). size_type find_first_not_of(const charT* s, size_type pos = 0) const;
Requires: s points to an array of at least
traits::length(s) + 1
elements of
charT. Returns:
find_first_not_of(basic_string_view<charT, traits>(s), pos). size_type find_first_not_of(charT c, size_type pos = 0) const;
Returns:
find_first_not_of(basic_string(1, c), pos). size_type find_last_not_of(basic_string_view<charT, traits> sv,
size_type pos = npos) const noexcept;
Effects:
Determines the highest position
xpos, if possible, such that both of
the following conditions hold:
Returns:
xpos if the function can determine such a value for
xpos. size_type find_last_not_of(const basic_string& str, size_type pos = npos) const noexcept;
Effects:
Equivalent to:
return find_last_not_of(basic_string_view<charT, traits>(str), pos);
size_type find_last_not_of(const charT* s, size_type pos, size_type n) const;
Returns:
find_last_not_of(basic_string_view<charT, traits>(s, n), pos). size_type find_last_not_of(const charT* s, size_type pos = npos) const;
Requires: s points to an array of at least
traits::length(s) + 1
elements of
charT. Returns:
find_last_not_of(basic_string_view<charT, traits>(s), pos). size_type find_last_not_of(charT c, size_type pos = npos) const;
Returns:
find_last_not_of(basic_string(1, c), pos). basic_string substr(size_type pos = 0, size_type n = npos) const;
Throws:
out_of_range
if
pos > size(). Effects:
Determines the effective length
rlen of the string to copy as the smaller of
n and
size() - pos. Returns:
basic_string(data()+pos, rlen). int compare(basic_string_view<charT, traits> sv) const noexcept;
Effects:
Determines the effective length
rlen
of the strings to compare as the smaller of
size()
and
sv.size(). The function then compares the two strings by calling
traits::compare(data(), sv.data(), rlen).Returns:
The nonzero result if the result of the comparison is nonzero
. Otherwise, returns a value as indicated in Table
58.Table
58 —
compare() results
Condition | Return Value |
size() < sv.size() | < 0 |
size() == sv.size() | 0 |
size() > sv.size() | > 0 |
int compare(size_type pos1, size_type n1, basic_string_view<charT, traits> sv) const;
Effects:
Equivalent to:
return basic_string_view<charT, traits>(data(), size()).substr(pos1, n1).compare(sv);
template<class T>
int compare(size_type pos1, size_type n1, const T& t,
size_type pos2, size_type n2 = npos) const;
Effects:
Equivalent to:
basic_string_view<charT, traits> sv = t;
return basic_string_view<charT, traits>(
data(), size()).substr(pos1, n1).compare(sv.substr(pos2, n2));
Remarks:
This function shall not participate in overload resolution
unless
is_convertible_v<const T&, basic_string_view<charT, traits>>
is
true and
is_convertible_v<const T&, const charT*> is
false. int compare(const basic_string& str) const noexcept;
Effects:
Equivalent to:
return compare(basic_string_view<charT, traits>(str));
int compare(size_type pos1, size_type n1, const basic_string& str) const;
Effects:
Equivalent to:
return compare(pos1, n1, basic_string_view<charT, traits>(str));
int compare(size_type pos1, size_type n1,
const basic_string& str,
size_type pos2, size_type n2 = npos) const;
Effects: Equivalent to:
return compare(pos1, n1, basic_string_view<charT, traits>(str), pos2, n2);
int compare(const charT* s) const;
Returns:
compare(basic_string(s)). int compare(size_type pos, size_type n1, const charT* s) const;
Returns: basic_string(*this, pos, n1).compare(basic_string(s)). int compare(size_type pos, size_type n1, const charT* s, size_type n2) const;
Returns: basic_string(*this, pos, n1).compare(basic_string(s, n2)).