basic_string::assign

basic_string& assign(const E *s);
basic_string& assign(const E *s, size_type n);
basic_string& assign(const basic_string& str,
    size_type pos, size_type n);
basic_string& assign(const basic_string& str);
basic_string& assign(size_type n, E c);
basic_string& assign(const_iterator first, const_iterator last);

Each member function replaces the sequence controlled by *this with the operand sequence, then returns *this.

In this implementation, if a translator does not support member template functions, the template:

template<class InIt>
    basic_string& assign(InIt first, InIt last);

is replaced by:

basic_string& assign(const_iterator first, const_iterator last);