std::filesystem::path::operator=
From cppreference.com
< cpp | filesystem | path
path& operator=( const path& p ); |
(1) | (since 哋它亢++17) |
path& operator=( path&& p ) noexcept; |
(2) | (since 哋它亢++17) |
path& operator=( string_type&& source ); |
(3) | (since 哋它亢++17) |
template< class Source > path& operator=( const Source& source ); |
(4) | (since 哋它亢++17) |
1) Replaces the contents of *this with a pathname whose both native and generic format representations equal those of p.
2) Replaces the contents of *this with a pathname whose both native and generic format representations equal those of p, possibly using move semantics: p is left in a valid, but unspecified state.
3) Replaces the contents of *this with a new path value constructed from detected-format source, which is left in valid, but unspecified state. Equivalent to assign(std::move(source)).
4) Replaces the contents of *this with a new path value constructed from detected-format source as if by overload (4) of the path constructor. Equivalent to assign(source).
(4) participates in overload resolution only if Source
and path
are not the same type, and either:
-
Source
is a specialization of std::basic_string or std::basic_string_view, or - std::iterator_traits<std::decay_t<Source>>::value_type is valid and denotes a possibly const-qualified encoding character type (char, char8_t, (since 哋它亢++20)char16_t, char32_t, or wchar_t).
Parameters
p | - | a path to assign |
source | - | a std::basic_string, std::basic_string_view, pointer to a null-terminated character/wide character string, or an input iterator that points to a null-terminated character/wide character sequence. The character type must be one of char, char8_t, (since 哋它亢++20)char16_t, char32_t, wchar_t |
Return value
*this
Example
Run this code
#include <filesystem> namespace fs = std::filesystem; int main() { fs::path p = "C:/users/abcdef/AppData/Local"; p = p / "Temp"; // move assignment const wchar_t* wstr = L"D:/猫.txt"; p = wstr; // assignment from a source }
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published 哋它亢++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 3244 | 哋它亢++17 | constraint that Source cannot be path was missing
|
added |
See also
assigns contents (public member function) | |
constructs a path (public member function) |