std::basic_string<CharT,Traits,Allocator>::append_range - cppreference.com

From cppreference.com

template<container-compatible-range<CharT>R>constexprstd::basic_string&append_range(R&&rg);(since C++23)Appends all characters from the range rg.

Equivalent to

returnappend(std::basic_string(std::from_range,std​::​forward<R>(rg),get_allocator()));Parameters

Return value

*this

Complexity

Linear in size of rg.

Exceptions

If the operation would cause

size()

to exceed

max_size()

, throws

std::length_error

.

If an exception is thrown for any reason, this function has no effect (

strong exception safety guarantee

).

Notes

Feature-test

macroValueStdFeature

__cpp_lib_containers_ranges

202202L

(C++23)member functions that accept

container compatible range

Example

Run this code

#include<cassert>#include<string>intmain(){std::stringhead{"long long"};constautotail={' ','i','n','t'};#ifdef __cpp_lib_containers_rangeshead.append_range(tail);#elsehead.append(tail.begin(),tail.end());#endifassert(head=="long long int");}See also

appends characters to the end
(public member function)

[edit]