operator<<,>> (std::filesystem::path)
|
template
<
class
CharT,
class
Traits
>
friend
std::
basic_ostream
<
CharT,Traits
>
&
|
(1) | (depuis C++17) |
|
template
<
class
CharT,
class
Traits
>
friend
std::
basic_istream
<
CharT,Traits
>
&
|
(2) | (depuis C++17) |
Effectue une entrée ou une sortie de flux sur le chemin p . std:: quoted est utilisé afin que les espaces ne provoquent pas de troncation lors d'une lecture ultérieure par l'opérateur d'entrée de flux.
Ces modèles de fonction ne sont pas visibles par la recherche non qualifiée ou qualifiée ordinaire, et ne peuvent être trouvés que par la recherche dépendante des arguments lorsque std::filesystem::path est une classe associée des arguments. Cela empêche les conversions indésirables en présence d'une using namespace std :: filesystem ; directive using .
Table des matières |
Paramètres
| os | - | flux sur lequel effectuer la sortie |
| is | - | flux sur lequel effectuer l'entrée |
| p | - | chemin à insérer ou extraire |
Valeur de retour
Exceptions
Peut lever des exceptions définies par l'implémentation.
Implémentation possible
| operator<< |
|---|
template<class CharT, class Traits> friend std::basic_ostream<CharT,Traits>& operator<<(std::basic_ostream<CharT,Traits>& os, const path& p) { os << std::quoted(p.string<CharT,Traits>()); return os; } |
| operator>> |
template<class CharT, class Traits> friend 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; } |
Exemple
#include <filesystem> #include <iostream> int main() { std::cout << std::filesystem::current_path() << '\n'; std::cout << std::filesystem::temp_directory_path() << '\n'; }
Sortie possible :
"/home/user" "/tmp"
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 2989 | C++17 |
autorisait l'insertion de tout élément convertible en
path
en présence d'une
using-directive
|
rendu ami caché |