Scroll to navigation

std::basic_string::append_range(3) C++ Standard Libary std::basic_string::append_range(3)

NAME

std::basic_string::append_range - std::basic_string::append_range

Synopsis


template< container-compatible-range<CharT> R > (since C++23)
constexpr std::basic_string& append_range( R&& rg );


Appends all characters from the range rg.


Equivalent to


return append(std::basic_string( std::from_range, std::forward<R>(rg), get_allocator()));

Parameters


rg - a container compatible range

Return value


*this

Complexity


Linear in size of rg.

Exceptions


If the operation would result in size() > 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 macro Value Std Feature
__cpp_lib_containers_ranges 202202L (C++23) member functions that accept container
compatible range

Example

// Run this code


#include <cassert>
#include <string>


int main()
{
std::string head{"long long"};
const auto tail = {' ', 'i', 'n', 't'};


#ifdef __cpp_lib_containers_ranges
head.append_range(tail);
#else
head.append(tail.begin(), tail.end());
#endif


assert(head == "long long int");
}

See also


append appends characters to the end
(public member function)

2024.06.10 http://cppreference.com