[string.op.append]

27 Strings library [strings]

27.4 String classes [string.classes]

27.4.3 Class template basic_string [basic.string]

27.4.3.7 Modifiers [string.modifiers]

27.4.3.7.1 basic_string​::​operator+= [string.op.append]

constexpr basic_string& operator+=(const basic_string& str);

Effects: Equivalent to: return append(str);

template<class T> constexpr basic_string& operator+=(const T& t);

Constraints:

  • is_convertible_v<const T&, basic_string_view<charT, traits>> is true and
  • is_convertible_v<const T&, const charT*> is false.

Effects: Equivalent to: basic_string_view<charT, traits> sv = t; return append(sv);

constexpr basic_string& operator+=(const charT* s);

Effects: Equivalent to: return append(s);

constexpr basic_string& operator+=(charT c);

Effects: Equivalent to: return append(size_type{1}, c);

constexpr basic_string& operator+=(initializer_list<charT> il);

Effects: Equivalent to: return append(il);