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