Standard C++ Library Reference ISO/IEC (VERSION3)

each append the operand sequence to the end of the sequence controlled by *this, then return
*this.
In this implementation, if a translator does not support member template functions, the template:
template<class InIt>
basic_string& append(InIt first, InIt last);
is replaced by:
basic_string& append(const_pointer first,
const_pointer last);
basic_string::assign
basic_string& assign(const value_type *ptr);
basic_string& assign(const value_type *ptr,
size_type count);
basic_string& assign(const basic_string& right,
size_type roff, size_type count);
basic_string& assign(const basic_string& right);
basic_string& assign(size_type count, value_type ch);
template<class InIt>
basic_string& assign(InIt first, InIt last);
If InIt is an integer type, the template member function behaves the same as
assign((size_type)first, (value_type)last). Otherwise, the member functions
each replace the sequence controlled by *this with the operand sequence, then return *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_pointer first,
const_pointer last);
basic_string::at
const_reference at(size_type off) const;
reference at(size_type off);
The member functions each return a reference to the element of the controlled sequence at position
off, or report an out-of-range error.