[string.assign] (original) (raw)
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.3 basic_string::assign [string.assign]
constexpr basic_string& assign(const basic_string& str);
Effects: Equivalent to: return *this = str;
constexpr basic_string& assign(basic_string&& str) noexcept(allocator_traits<Allocator>::propagate_on_container_move_assignment::value || allocator_traits<Allocator>::is_always_equal::value);
Effects: Equivalent to: return *this = std::move(str);
constexpr basic_string& assign(const basic_string& str, size_type pos, size_type n = npos);
Effects: Equivalent to:return assign(basic_string_view<charT, traits>(str).substr(pos, n));
template<class T> constexpr basic_string& assign(const T& t);
Constraints:
- is_convertible_v<const T&, basic_string_view<charT, traits>> istrue and
- is_convertible_v<const T&, const charT*> isfalse.
Effects: Equivalent to:basic_string_view<charT, traits> sv = t;return assign(sv.data(), sv.size());
template<class T> constexpr basic_string& assign(const T& t, size_type pos, size_type n = npos);
Constraints:
- is_convertible_v<const T&, basic_string_view<charT, traits>> istrue and
- is_convertible_v<const T&, const charT*> isfalse.
Effects: Equivalent to:basic_string_view<charT, traits> sv = t;return assign(sv.substr(pos, n));
constexpr basic_string& assign(const charT* s, size_type n);
Preconditions: [s, s + n) is a valid range.
Effects: Replaces the string controlled by *this with a copy of the range [s, s + n).
constexpr basic_string& assign(const charT* s);
Effects: Equivalent to: return assign(s, traits::length(s));
constexpr basic_string& assign(initializer_list<charT> il);
Effects: Equivalent to: return assign(il.begin(), il.size());
constexpr basic_string& assign(size_type n, charT c);
Effects: Equivalent to:clear(); resize(n, c);return *this;
template<class InputIterator> constexpr basic_string& assign(InputIterator first, InputIterator last);
Constraints: InputIterator is a type that qualifies as an input iterator ([container.reqmts]).
Effects: Equivalent to: return assign(basic_string(first, last, get_allocator()));
Effects: Equivalent to: return assign(basic_string(from_range, std::forward<R>(rg), get_allocator()));