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 отсутствовало | добавлено |
См. также
| присваивает другой путь (публичный член-функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/filesystem/path/assign