std::filesystem::path::assign (3) - Linux Man Pages
path& assign( string_type&& source ); (1) (since C++17)
template< class Source > (2) (since C++17)
path& assign( const Source& source );
template< class InputIt > (3) (since C++17)
path& assign( InputIt first, InputIt last );
Replaces the contents to the path object by a new pathname constructed from the given character sequence.
1) Assigns the pathname identified by the detected-format string source, which is left in valid, but unspecified state.
2) Assigns the pathname identified by the detected-format character range source.
3) Assigns the pathname identified by detected-format character range [first, last).
source - a character range to use, represented as std::string, std::string_view, pointer to a null-terminated multibyte string, or as an input iterator with char value type that points to a null-terminated multibyte string
first, last - a character range to use
InputIt must meet the requirements of LegacyInputIterator.
The value type of InputIt must be one of the encoded character types (char, wchar_t, char16_t and char32_t)
operator= (public member function)