Namespaces
Variants

operator<<,>> (std::experimental::filesystem::path)

From cppreference.net
template < class CharT, class Traits >

std:: basic_ostream < CharT,Traits > &

operator << ( std:: basic_ostream < CharT,Traits > & os, const path & p ) ;
(1) (filesystem TS)
template < class CharT, class Traits >

std:: basic_istream < CharT,Traits > &

operator >> ( std:: basic_istream < CharT,Traits > & is, path & p ) ;
(2) (filesystem TS)

Выполняет потоковый ввод или вывод для пути p . std:: quoted используется для предотвращения обрезки пробелов при последующем чтении оператором потокового ввода.

Содержание

Параметры

os - поток для выполнения вывода
is - поток для выполнения ввода
p - путь для вставки или извлечения

Возвращаемое значение

1) os
2) is

Исключения

Может генерировать исключения, определяемые реализацией.

Возможная реализация

Первая версия
template<class CharT, class Traits>
std::basic_ostream<CharT,Traits>&
    operator<<(std::basic_ostream<CharT,Traits>& os, const path& p)
{
    os << std::quoted(p.string<CharT,Traits>());
    return os;
}
Вторая версия
template<class CharT, class Traits>
std::basic_istream<CharT,Traits>&
    operator>>(std::basic_istream<CharT,Traits>& is, path& p)
{
    std::basic_string<CharT, Traits> t;
    is >> std::quoted(t);
    p = t;
    return is;
}

Пример