std::experimental::filesystem:: path
|
Défini dans l'en-tête
<experimental/filesystem>
|
||
|
class
path
;
|
(filesystem TS) | |
Les objets de type
path
représentent des chemins sur un système de fichiers. Seuls les aspects syntaxiques des chemins sont gérés : le nom de chemin peut représenter un chemin inexistant ou même un chemin qui n'est pas autorisé à exister sur le système de fichiers ou le système d'exploitation actuel.
Le nom de chemin a la syntaxe suivante :
- root-name (optionnel) : identifie la racine sur un système de fichiers avec plusieurs racines (tel que "C:" ou "//myserver" ). Les systèmes de fichiers POSIX ont une seule racine.
- root-directory (optionnel) : un séparateur de répertoire qui, s'il est présent, marque ce chemin comme absolu . S'il est absent (et que le premier élément autre que le nom de racine est un nom de fichier), alors le chemin est relatif et nécessite un autre chemin comme emplacement de départ pour résoudre vers un nom de fichier.
- Zéro ou plusieurs des éléments suivants :
-
- file-name : séquence de caractères qui ne sont pas des séparateurs de répertoire ou des séparateurs de répertoire préférés (des limitations supplémentaires peuvent être imposées par le système d'exploitation ou le système de fichiers). Ce nom peut identifier un fichier, un lien physique, un lien symbolique ou un répertoire. Deux file-name s spéciaux sont reconnus :
-
- dot : le nom de fichier constitué d'un seul point . est un nom de répertoire qui fait référence au répertoire courant.
- dot-dot : le nom de fichier constitué de deux points .. est un nom de répertoire qui fait référence au répertoire parent.
-
directory-separator
s : le caractère barre oblique
/
ou le caractère alternatif fourni comme
path::preferred_separator. Si ce caractère est répété, il est traité comme un seul séparateur de répertoire : / usr ///////lib est identique à / usr / lib .
Le chemin peut être parcouru élément par élément via les itérateurs renvoyés par les fonctions begin() et end() , qui itèrent sur le nom racine, le répertoire racine et les éléments de nom de fichier suivants (les séparateurs de répertoire sont ignorés sauf celui qui identifie le répertoire racine). Si le tout dernier élément du chemin est un séparateur de répertoire, le dernier itérateur déréférencera vers un nom de fichier dot .
L'appel de toute fonction membre non constante d'un
path
invalide tous les itérateurs faisant référence aux éléments de cet objet.
Si le système d'exploitation utilise une syntaxe native différente de la syntaxe générique portable décrite ci-dessus, toutes les fonctions de la bibliothèque acceptent les noms de chemins dans les deux formats.
Les chemins sont implicitement convertibles vers et depuis std::basic_string s, ce qui permet de les utiliser avec d'autres API de fichiers, par exemple comme argument à std::ifstream::open .
Table des matières |
Types membres
| Type | Définition |
value_type
|
type de caractère utilisé par l'encodage natif du système de fichiers : char sur POSIX, wchar_t sur Windows |
string_type
|
std:: basic_string < value_type > |
const_iterator
|
un
LegacyBidirectionalIterator
constant avec un
value_type
de
path
|
iterator
|
un alias vers
const_iterator
|
Constantes membres
|
constexpr value_type
preferred_separator
[static]
|
Séparateur de répertoire alternatif qui peut être utilisé en plus du séparateur portable
/
. Sous Windows, il s'agit du caractère barre oblique inverse
\
. Sous POSIX, il s'agit de la même barre oblique
/
que le séparateur portable
(constante de membre public static) |
Fonctions membres
construit un
path
(fonction membre publique) |
|
détruit un objet
path
(fonction membre publique) |
|
|
assigne un autre chemin
(fonction membre publique) |
|
|
assigne le contenu
(fonction membre publique) |
|
Concaténation |
|
|
ajoute des éléments au chemin
(fonction membre publique) |
|
|
concatène deux chemins sans introduire de séparateur de répertoire
(fonction membre publique) |
|
Modificateurs |
|
|
efface le contenu
(fonction membre publique) |
|
|
convertit les séparateurs de répertoire en séparateur de répertoire préféré
(fonction membre publique) |
|
|
supprime le composant de chemin de nom de fichier
(fonction membre publique) |
|
|
remplace le dernier composant du chemin par un autre chemin
(fonction membre publique) |
|
|
remplace l'extension
(fonction membre publique) |
|
|
échange deux chemins
(fonction membre publique) |
|
Observateurs de format |
|
|
retourne la version native du chemin
(fonction membre publique) |
|
|
retourne le chemin au format natif de nom de chemin converti en chaîne
(fonction membre publique) |
|
|
retourne le chemin au format générique de nom de chemin converti en chaîne
(fonction membre publique) |
|
Comparer |
|
|
compare les représentations lexicales de deux chemins de manière lexicographique
(fonction membre publique) |
|
Décomposition |
|
|
retourne le nom racine du chemin, s'il est présent
(fonction membre publique) |
|
|
retourne le répertoire racine du chemin, s'il est présent
(fonction membre publique) |
|
|
retourne le chemin racine du chemin, s'il est présent
(fonction membre publique) |
|
|
retourne le chemin relatif au chemin racine
(fonction membre publique) |
|
|
retourne le chemin du répertoire parent
(fonction membre publique) |
|
|
retourne le composant de chemin du nom de fichier
(fonction membre publique) |
|
|
retourne le composant de chemin stem
(fonction membre publique) |
|
|
renvoie l'extension de fichier du composant de chemin
(fonction membre publique) |
|
Requêtes |
|
|
vérifie si le chemin est vide
(fonction membre publique) |
|
|
vérifie si l'élément de chemin correspondant n'est pas vide
(fonction membre publique) |
|
|
vérifie si
root_path()
identifie de manière unique un emplacement du système de fichiers
(fonction membre publique) |
|
Itérateurs |
|
|
accès via itérateur au chemin en tant que séquence d'éléments
(fonction membre publique) |
|
Fonctions non membres
|
échange deux chemins
(fonction) |
|
|
compare lexicographiquement deux chemins
(fonction) |
|
|
concatène deux chemins avec un séparateur de répertoire
(fonction) |
|
|
effectue l'entrée et la sortie de flux sur un chemin
(fonction) |
|
crée un
path
à partir d'une source encodée en UTF-8
(fonction) |