From cppreference.com
template<container-compatible-range<CharT>R>constexprstd::basic_string&assign_range(R&&rg);(since C++23)Replaces the contents of the string with the values in the range rg.
Equivalent to
returnassign(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
to exceed
, throws
.
If an exception is thrown for any reason, this function has no effect (
strong exception safety guarantee
).
Notes
macroValueStdFeature
(C++23)member functions that accept
Example
Run this code
#include<cassert>#include<string>intmain(){constautosource={'s','o','u','r','c','e'};std::stringdestination{"destination"};#ifdef __cpp_lib_containers_rangesdestination.assign_range(source);#elsedestination.assign(source.begin(),source.end());#endifassert(destination=="source");}See also