std::experimental::filesystem:: path
|
Definido en el encabezado
<experimental/filesystem>
|
||
|
class
path
;
|
(filesystem TS) | |
Los objetos de tipo
path
representan rutas en un sistema de archivos. Solo se manejan aspectos sintácticos de las rutas: el nombre de ruta puede representar una ruta inexistente o incluso una que no está permitida existir en el sistema de archivos o SO actual.
El nombre de la ruta tiene la siguiente sintaxis:
- root-name (opcional) : identifica la raíz en un sistema de archivos con múltiples raíces (como "C:" o "//myserver" ). Los sistemas de archivos POSIX tienen una única raíz.
- root-directory (opcional) : un separador de directorio que, si está presente, marca esta ruta como absoluta . Si falta (y el primer elemento distinto del nombre de raíz es un nombre de archivo), entonces la ruta es relativa y requiere otra ruta como ubicación inicial para resolverse en un nombre de archivo.
- Cero o más de los siguientes:
-
- file-name : secuencia de caracteres que no son separadores de directorio o separadores de directorio preferidos (pueden existir limitaciones adicionales impuestas por el SO o sistema de archivos). Este nombre puede identificar un archivo, un enlace físico, un enlace simbólico o un directorio. Se reconocen dos file-name s especiales:
-
- dot : el nombre de archivo que consiste en un solo carácter punto . es un nombre de directorio que se refiere al directorio actual.
- dot-dot : el nombre de archivo que consiste en dos caracteres punto .. es un nombre de directorio que se refiere al directorio padre.
-
directory-separator
s: el carácter barra diagonal
/
o el carácter alternativo proporcionado como
path::preferred_separator. Si este carácter se repite, se trata como un único separador de directorio: / usr ///////lib es lo mismo que / usr / lib .
La ruta puede ser recorrida elemento por elemento mediante los iteradores devueltos por las funciones begin() y end() , que iteran sobre el nombre raíz, directorio raíz y los elementos subsiguientes de nombre de archivo (los separadores de directorio se omiten excepto el que identifica el directorio raíz). Si el último elemento en la ruta es un separador de directorio, el último iterador desreferenciará a un nombre de archivo dot .
Llamar a cualquier función miembro no constante de un
path
invalida todos los iteradores que hacen referencia a elementos de ese objeto.
Si el sistema operativo utiliza una sintaxis nativa que es diferente de la sintaxis genérica portátil descrita anteriormente, todas las funciones de la biblioteca aceptan nombres de ruta en ambos formatos.
Los paths son implícitamente convertibles hacia y desde std::basic_string s, lo que permite utilizarlos con otras APIs de archivos, por ejemplo como argumento para std::ifstream::open .
Contenidos |
Tipos de miembros
| Tipo | Definición |
value_type
|
tipo de carácter utilizado por la codificación nativa del sistema de archivos: char en POSIX, wchar_t en Windows |
string_type
|
std:: basic_string < value_type > |
const_iterator
|
un
LegacyBidirectionalIterator
constante con un
value_type
de
path
|
iterator
|
un alias para
const_iterator
|
Constantes de miembro
|
constexpr value_type
preferred_separator
[static]
|
separador de directorio alternativo que puede usarse además del
/
portable. En Windows, este es el carácter de barra invertida
\
. En POSIX, este es la misma barra diagonal
/
que el separador portable
(constante de miembro público estático) |
Funciones miembro
construye un
path
(función miembro pública) |
|
destruye un objeto
path
(función miembro pública) |
|
|
asigna otra ruta
(función miembro pública) |
|
|
asigna contenidos
(función miembro pública) |
|
Concatenación |
|
|
añade elementos a la ruta
(función miembro pública) |
|
|
concatena dos rutas sin introducir un separador de directorio
(función miembro pública) |
|
Modificadores |
|
|
borra el contenido
(función miembro pública) |
|
|
convierte los separadores de directorio al separador de directorio preferido
(función miembro pública) |
|
|
elimina el componente de ruta del nombre de archivo
(función miembro pública) |
|
|
reemplaza el último componente de la ruta con otra ruta
(función miembro pública) |
|
|
reemplaza la extensión
(función miembro pública) |
|
|
intercambia dos rutas
(función miembro pública) |
|
Observadores de formato |
|
|
devuelve la versión nativa de la ruta
(función miembro pública) |
|
|
devuelve la ruta en formato de nombre de ruta nativo convertido a una cadena
(función miembro pública) |
|
|
devuelve la ruta en formato genérico de nombre de ruta convertida a una cadena
(función miembro pública) |
|
Comparar |
|
|
compara las representaciones léxicas de dos rutas lexicográficamente
(función miembro pública) |
|
Descomposición |
|
|
devuelve el nombre raíz de la ruta, si está presente
(función miembro pública) |
|
|
devuelve el directorio raíz de la ruta, si está presente
(función miembro pública) |
|
|
devuelve la ruta raíz de la ruta, si está presente
(función miembro pública) |
|
|
devuelve la ruta relativa a la ruta raíz
(función miembro pública) |
|
|
devuelve la ruta del directorio padre
(función miembro pública) |
|
|
devuelve el componente de ruta del nombre de archivo
(función miembro pública) |
|
|
devuelve el componente de ruta stem
(función miembro pública) |
|
|
devuelve el componente de extensión de archivo de la ruta
(función miembro pública) |
|
Consultas |
|
|
verifica si la ruta está vacía
(función miembro pública) |
|
|
verifica si el elemento de ruta correspondiente no está vacío
(función miembro pública) |
|
|
verifica si
root_path()
identifica de manera única una ubicación en el sistema de archivos
(función miembro pública) |
|
Iteradores |
|
|
acceso de iterador a la ruta como una secuencia de elementos
(función miembro pública) |
|
Funciones no miembro
|
intercambia dos rutas
(función) |
|
|
compara lexicográficamente dos rutas
(función) |
|
|
concatena dos rutas con un separador de directorio
(función) |
|
|
realiza entrada y salida de flujo en una ruta
(función) |
|
crea un
path
desde una fuente codificada en UTF-8
(función) |