Spec-Zone.ru › C++

std::filesystem::path::assign

path& assign( string_type&& source );
(1) (начиная с C++17)
template< class Source >
path& assign( const Source& source );
(2) (начиная с C++17)
template< class InputIt >
path& assign( InputIt first, InputIt last );
(3) (начиная с C++17)

Заменяет содержимое объекта path новым путём, построенным из заданной последовательности символов.

1) Присваивает путь, определяемый строкой формата, обнаруженного автоматически: source, которая остаётся в допустимом, но не определённом состоянии.
2) Присваивает путь, определяемый диапазоном символов формата, обнаруженного автоматически: source.
3) Присваивает путь, определяемый диапазоном символов формата, обнаруженного автоматически: [first, last).

(2) участвует в разрешении перегрузки только в том случае, если Source и path являются разными типами и выполняется одно из условий:

  • Source является специализацией std::basic_string или std::basic_string_view, или
  • std::iterator_traits<std::decay_t<Source>>::value_type корректно и обозначает тип символа кодировки, возможно квалифицированный как const (char, char8_t, (начиная с C++20)char16_t, char32_t или wchar_t).

Параметры

source - диапазон символов для использования, представленный как std::string, std::string_view, указатель на многобайтовую строку с нулевым символом в конце или входной итератор со значением типа char, указывающий на многобайтовую строку с нулевым символом в конце
first, last - диапазон символов для использования
Требования к типам
-InputIt должен соответствовать требованиям LegacyInputIterator.
-Тип значения InputIt должен быть одним из типов кодируемых символов (char, wchar_t, char16_t и char32_t)

Возвращаемое значение

*this

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

Отчёт об ошибке Применён к Опубликованное поведение Корректное поведение
LWG 3244 C++17 отсутствовало ограничение, согласно которому Source не может быть path добавлено

См. также

operator=
присваивает другой путь
(открытая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/filesystem/path/assign

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API