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++.

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

См. также

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

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

Spec-Zone.ru

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