Пространства имён
Варианты
Действия

std::basic_string<CharT,Traits,Allocator>::assign_range

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-элементы
basic_string::assign_range
(C++23)
Доступ к элементам
Итераторы
Ёмкость
Операции
Поиск
Константы
Правила вывода(C++17)
Функции, не являющиеся элементами
Ввод/Вывод
Сравнение
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Числовые преобразования
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Вспомогательные классы
 
template<container-compatible-range<CharT> R >
constexprstd::basic_string& assign_range( R&& rg );
(начиная с C++23)

Заменяет содержимое строки значениями в диапазоне rg.

Эквивалентно

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

Содержание

[править]Параметры

rg no section name

[править]Возвращаемое значение

*this

[править]Сложность

Линейная по размеру rg.

[править]Исключения

Если операция приведёт к size()> max_size(), генерирует std::length_error.

Если по какой-либо причине генерируется исключение, эта функция не имеет эффекта (строгая гарантия безопасности исключений).

[править]Примечание

Макрос Тестирования функциональностиЗначениеСтандартФункциональность
__cpp_lib_containers_ranges202202L(C++23)функции-элементы, которые принимают no section name

[править]Пример

#include <cassert>#include <string>   int main(){constauto 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");}

[править]Смотрите также

присваивает символы строке
(public функция-элемент)[править]
присваивает значения строке
(public функция-элемент)[править]
создаёт basic_string
(public функция-элемент)[править]
close