string::assign
Assign characters to a string.
Synopsis
string&
assign(
    std::size_t count,
    char ch); (1)
string&
assign(
    char const* s,
    std::size_t count); (2)
string&
assign(
    char const* s); (3)
template<
    class InputIt>
string&
assign(
    InputIt first,
    InputIt last); (4)
string&
assign(
    string_view s); (5)
string&
assign(
    string const& other); (6)
string&
assign(
    string&& other); (7)
Description
- 
(1) replaces the contents with
countcopies of characterch. - 
(2) replaces the contents with copies of the characters in the range
[s, s + count). This range can contain null characters. - 
(3) replaces the contents with those of the null terminated string
s. The length of the string is determined by the first null character. - 
(4) replaces the contents with copies of characters in the range
[first, last). - 
(5) Replaces the contents with those of string view
s. This view can contain null characters. - 
(6) replaces the contents with a copy of the characters of
other. - 
(7) if
*storage() == *other.storage()takes ownership of the element storage ofother; otherwise equivalent to (6). 
Self-assignment using (7) does nothing.
After (7) other is left in valid but unspecified state.
Constraints
InputIt satisfies LegacyInputIterator.
Complexity
- 
(1), (2) linear in
count. - 
(3) linear in
std::strlen(s). - 
(4) linear in
std::distance(first, last). - 
(5) linear in
s.size(). - 
(6) linear in
other.size(). - 
(7) constant if
*storage() == *other.storage(), otherwise linear inother.size(). 
Exception Safety
  (7) provides strong guarantee if *storage() != *other.storage() and no-throw guarantee otherwise. Other overloads provide strong guarantee. Calls to memory_resource::allocate may throw.
Template Parameters
| Type | Description | 
|---|---|
  | 
The type of the iterators.  | 
Return Value
*this.
Parameters
| Name | Description | 
|---|---|
  | 
The number of the characters to use.  | 
  | 
The character to fill the string with.  | 
  | 
A pointer to a character string used to copy from.  | 
  | 
An input iterator pointing to the first character to insert, or pointing to the end of the range.  | 
  | 
An input iterator pointing to the end of the range.  | 
  | 
Another string.  | 
Exceptions
| Type | Thrown On | 
|---|---|
  | 
The size of the string after the operation would exceed   |