Proposed resolution:
This wording is relative to N4861.
Modify [ifstream], class template basic_ifstream synopsis, as indicated:
[…] explicit basic_ifstream(const string& s, ios_base::openmode mode = ios_base::in); template<class T> explicit basic_ifstream(constfilesystem::pathT& s, ios_base::openmode mode = ios_base::in); […]
Modify [ifstream.cons] as indicated:
explicit basic_ifstream(const string& s, ios_base::openmode mode = ios_base::in);-?- Effects: Equivalent to: basic_ifstream(s.c_str(), mode).
template<class T> explicit basic_ifstream(constfilesystem::pathT& s, ios_base::openmode mode = ios_base::in);-?- Constraints: is_same_v<T, filesystem::path> is true.
-3- Effects: Equivalent to: basic_ifstream(s.c_str(), mode).
Modify [ofstream], class template basic_ofstream synopsis, as indicated:
[…] explicit basic_ofstream(const string& s, ios_base::openmode mode = ios_base::out); template<class T> explicit basic_ofstream(constfilesystem::pathT& s, ios_base::openmode mode = ios_base::out); […]
Modify [ofstream.cons] as indicated:
explicit basic_ofstream(const string& s, ios_base::openmode mode = ios_base::out);-?- Effects: Equivalent to: basic_ofstream(s.c_str(), mode).
template<class T> explicit basic_ofstream(constfilesystem::pathT& s, ios_base::openmode mode = ios_base::out);-?- Constraints: is_same_v<T, filesystem::path> is true.
-3- Effects: Equivalent to: basic_ofstream(s.c_str(), mode).
Modify [fstream], class template basic_fstream synopsis, as indicated:
[…] explicit basic_fstream( const string& s, ios_base::openmode mode = ios_base::in | ios_base::out); template<class T> explicit basic_fstream( constfilesystem::pathT& s, ios_base::openmode mode = ios_base::in | ios_base::out); […]
Modify [fstream.cons] as indicated:
explicit basic_fstream( const string& s, ios_base::openmode mode = ios_base::in | ios_base::out);-?- Effects: Equivalent to: basic_fstream(s.c_str(), mode).
template<class T> explicit basic_fstream( constfilesystem::pathT& s, ios_base::openmode mode = ios_base::in | ios_base::out);-?- Constraints: is_same_v<T, filesystem::path> is true.
-3- Effects: Equivalent to: basic_fstream(s.c_str(), mode).