std::basic_string<CharT,Traits,Allocator>::assign_range - cppreference.com (original) (raw)

Replaces the contents of the string with the values in the range rg.

Equivalent to

Contents

[edit] Parameters

[edit] Return value

*this

[edit] Complexity

Linear in size of rg.

[edit] 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).

[edit] Notes

Feature-test macro Value Std Feature
__cpp_lib_containers_ranges 202202L (C++23) member functions that accept container compatible range

[edit] Example

#include #include   int main() { const auto source = {'s', 'o', 'u', 'r', 'c', 'e'}; std::string destination{"destination"};   #ifdef __cpp_lib_containers_ranges destination.assign_range(source); #else destination.assign(source.begin(), source.end()); #endif   assert(destination == "source"); }

[edit] See also