20 Strings library [strings]

20.3 String classes [string.classes]

20.3.2 Class template basic_­string [basic.string] Modifiers [string.modifiers] basic_­string​::​operator+= [string.op+=]

basic_string& operator+=(const basic_string& str);
Effects: Calls append(str).
Returns: *this.
template<class T> basic_string& operator+=(const T& t);
Effects: Creates a variable, sv, as if by basic_­string_­view<charT, traits> sv = t; and then calls append(sv).
Returns: *this.
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.
basic_string& operator+=(const charT* s);
Effects: Calls append(s).
Returns: *this.
basic_string& operator+=(charT c);
Effects: Calls push_­back(c);
Returns: *this.
basic_string& operator+=(initializer_list<charT> il);
Effects: Calls append(il).
Returns: *this.