operator<<,>>(std::filesystem::path) (3) - Linux Manuals
operator<<,>>(std::filesystem::path): operator<<,>>(std::filesystem::path)
NAME
operator<<,>>(std::filesystem::path) - operator<<,>>(std::filesystem::path)
Synopsis
template< class CharT, class Traits >
std::basic_ostream<CharT,Traits>& (1) (since C++17)
operator<<( std::basic_ostream<CharT,Traits>& os, const std::filesystem::path& p );
template< class CharT, class Traits >
std::basic_istream<CharT,Traits>& (2) (since C++17)
operator>>( std::basic_istream<CharT,Traits>& is, std::filesystem::path& p );
Performs stream input or output on the path p. std::quoted is used so that spaces do not cause truncation when later read by stream input operator.
These function templates are not visible to ordinary unqualified or qualified_lookup , and can only be found by argument-dependent_lookup when std::filesystem::path is an associated class of the arguments. This prevents undesirable conversions in the presence of a using namespace std::filesystem; using-directive.
Parameters
os - stream to perform output on
is - stream to perform input on
p - path to insert or extract
Return value
1) os
2) is
Exceptions
(none)
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior
LWG_2989 C++17 allowed insertion of everything convertible to path in the presence of a using-directive made hidden friend
Possible implementation
First version
Second version
Example
// Run this code
Possible output: