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.
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(const basic_string& str,
size_type pos = 0) const noexcept;
Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
Remarks: Uses traits::eq().
size_type find(const charT* s, size_type pos, size_type n) const;
Returns: find(basic_string<charT,traits,Allocator>(s,n),pos).
size_type find(const charT* s, size_type pos = 0) const noexcept;
Requires: s points to an array of at least traits::length(s) + 1 elements of charT.
Returns: find(basic_string(s), pos).
size_type find(charT c, size_type pos = 0) const noexcept;
Returns: find(basic_string<charT,traits,Allocator>(1,c), pos).
size_type rfind(const basic_string& str,
size_type pos = npos) const noexcept;
Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
Remarks: Uses traits::eq().
size_type rfind(const charT* s, size_type pos, size_type n) const;
Returns: rfind(basic_string(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(s), pos).
size_type rfind(charT c, size_type pos = npos) const noexcept;
Returns: rfind(basic_string<charT,traits,Allocator>(1,c),pos).
size_type
find_first_of(const basic_string& str,
size_type pos = 0) const noexcept;
Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
Remarks: Uses traits::eq().
size_type
find_first_of(const charT* s, size_type pos, size_type n) const;
Returns: find_first_of(basic_string(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(s), pos).
size_type find_first_of(charT c, size_type pos = 0) const noexcept;
Returns: find_first_of(basic_string<charT,traits,Allocator>(1,c), pos).
size_type
find_last_of(const basic_string& str,
size_type pos = npos) const noexcept;
Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
Remarks: Uses traits::eq().
size_type find_last_of(const charT* s, size_type pos, size_type n) const;
Returns: find_last_of(basic_string(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(s), pos).
size_type find_last_of(charT c, size_type pos = npos) const noexcept;
Returns: find_last_of(basic_string<charT,traits,Allocator>(1,c),pos).
size_type
find_first_not_of(const basic_string& str,
size_type pos = 0) const noexcept;
Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
Remarks: Uses traits::eq().
size_type
find_first_not_of(const charT* s, size_type pos, size_type n) const;
Returns: find_first_not_of(basic_string(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(s), pos).
size_type find_first_not_of(charT c, size_type pos = 0) const noexcept;
Returns: find_first_not_of(basic_string(1, c), pos).
size_type
find_last_not_of(const basic_string& str,
size_type pos = npos) const noexcept;
Returns: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
Remarks: Uses traits::eq().
size_type find_last_not_of(const charT* s, size_type pos,
size_type n) const;
Returns: find_last_not_of(basic_string(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(s), pos).
size_type find_last_not_of(charT c, size_type pos = npos) const noexcept;
Returns: find_last_not_of(basic_string(1, c), pos).
basic_string<charT,traits,Allocator>
substr(size_type pos = 0, size_type n = npos) const;
Requires: pos <= size()
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<charT,traits,Allocator>(data()+pos,rlen).
int compare(const basic_string& str) const noexcept;
Effects: Determines the effective length rlen of the strings to compare as the smallest of size() and str.size(). The function then compares the two strings by calling traits::compare(data(), str.data(), rlen).
Returns: The nonzero result if the result of the comparison is nonzero. Otherwise, returns a value as indicated in Table [tab:strings.compare].
Condition | Return Value |
size() < str.size() | < 0 |
size() == str.size() | 0 |
size() > str.size() | > 0 |
int compare(size_type pos1, size_type n1,
const basic_string& str) const;
Returns: basic_string(*this,pos1,n1).compare(str).
int compare(size_type pos1, size_type n1,
const basic_string& str,
size_type pos2, size_type n2 ) const;
Returns: basic_string(*this, pos1, n1).compare(basic_string(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)).