Files
cppdraft_translate/cppdraft/string/append.md
2025-10-25 03:02:53 +03:00

5.2 KiB
Raw Blame History

[string.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.2 basic_string::append [string.append]

🔗

constexpr basic_string& append(const basic_string& str);

1

#

Effects: Equivalent to: return append(str.data(), str.size());

🔗

constexpr basic_string& append(const basic_string& str, size_type pos, size_type n = npos);

2

#

Effects: Equivalent to:return append(basic_string_view<charT, traits>(str).substr(pos, n));

🔗

template<class T> constexpr basic_string& append(const T& t);

3

#

Constraints:

is_convertible_v<const T&, basic_string_view<charT, traits>> istrue and

is_convertible_v<const T&, const charT*> isfalse.

4

#

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

🔗

template<class T> constexpr basic_string& append(const T& t, size_type pos, size_type n = npos);

5

#

Constraints:

is_convertible_v<const T&, basic_string_view<charT, traits>> istrue and

is_convertible_v<const T&, const charT*> isfalse.

6

#

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

🔗

constexpr basic_string& append(const charT* s, size_type n);

7

#

Preconditions: [s, s + n) is a valid range.

8

#

Effects: Appends a copy of the range [s, s + n) to the string.

9

#

Returns: *this.

🔗

constexpr basic_string& append(const charT* s);

10

#

Effects: Equivalent to: return append(s, traits::length(s));

🔗

constexpr basic_string& append(size_type n, charT c);

11

#

Effects: Appends n copies of c to the string.

12

#

Returns: *this.

🔗

template<class InputIterator> constexpr basic_string& append(InputIterator first, InputIterator last);

13

#

Constraints: InputIterator is a type that qualifies as an input iterator ([container.reqmts]).

14

#

Effects: Equivalent to: return append(basic_string(first, last, get_allocator()));

🔗

template<[container-compatible-range](container.intro.reqmts#concept:container-compatible-range "23.2.2.1Introduction[container.intro.reqmts]")<charT> R> constexpr basic_string& append_range(R&& rg);

15

#

Effects: Equivalent to: return append(basic_string(from_range, std::forward(rg), get_allocator()));

🔗

constexpr basic_string& append(initializer_list<charT> il);

16

#

Effects: Equivalent to: return append(il.begin(), il.size());

🔗

constexpr void push_back(charT c);

17

#

Effects: Equivalent toappend(size_type{1}, c).