<experimental/filesystem> directory_entry clase

Important

En este artículo se describe la implementación de prestandard std::experimental::filesystem de directory_entry. Esta implementación se basa en la especificación técnica del sistema de archivos, que se encuentra en ISO/IEC JTC 1/SC 22/WG 21 N4100. No es std::filesystemy no es compatible con la implementación de C++17 std::filesystem . La implementación experimental se quitó a partir de la versión 14.51 del conjunto de herramientas de MSVC. Para obtener la versión actual de C++17 std::filesystem , consulte directory_entry la clase .

Describe un objeto devuelto por *X, donde X es o directory_iterator .recursive_directory_iterator

Sintaxis

class directory_entry;

Observaciones

La clase almacena un objeto de tipo path. El objeto almacenado path puede ser una instancia de la path clase o de un tipo derivado de path. También almacena dos file_type valores. Un valor representa el estado del nombre de archivo almacenado. El otro representa el estado simbólico del vínculo del nombre de archivo.

Constructores

Constructor Descripción
directory_entry Los constructores predeterminados se comportan según lo previsto. El cuarto constructor se inicializa mypath en pval, mystat en stat_arg y mysymstaten symstat_arg.

Funciones miembro

Función de miembro Descripción
assign La función miembro asigna pval a mypath, stat a mystaty symstat a mysymstat.
path La función miembro devuelve mypath.
replace_filename La función miembro reemplaza mypath por mypath.parent_path() / pval, mystat por stat_arg y mysymstat por symstat_arg
status Ambas funciones miembro devuelven mystat posiblemente la primera modificación.
symlink_status Ambas funciones miembro devuelven mysymstat posiblemente la primera modificación.

Operators

Operador Descripción
operator!= Devuelve !(*this == right).
operator= Los operadores de asignación de miembros predeterminados se comportan según lo previsto.
operator== Devuelve mypath == right.mypath.
operator< Devuelve mypath < right.mypath.
operator<= Devuelve !(right < *this).
operator> Devuelve right < *this.
operator>= Devuelve !(*this < right).
operator const path_type& Devuelve mypath.

Requisitos

Encabezado: <experimental/filesystem>

Espacio de nombres:std::experimental::filesystem

asignar

La función miembro asigna pval a mypath, stat_arg a mystaty symstat_arg a mysymstat.

void assign(const std::experimental::filesystem::path& pval,
    file_status stat_arg = file_status(),
    file_status symstat_arg = file_status());

Parameters

pval
Ruta de acceso del nombre de archivo almacenado.

stat_arg
Estado del nombre de archivo almacenado.

symstat_arg
Estado simbólico del vínculo del nombre de archivo almacenado.

directory_entry

Los constructores predeterminados se comportan según lo previsto. El cuarto constructor se inicializa mypath en pval, mystat en stat_arg y mysymstaten symstat_arg.

directory_entry() = default;
directory_entry(const directory_entry&) = default;
directory_entry(directory_entry&&) noexcept = default;
explicit directory_entry(const std::experimental::filesystem::path& pval,
    file_status stat_arg = file_status(),
    file_status symstat_arg = file_status());

Parameters

pval
Ruta de acceso del nombre de archivo almacenado.

stat_arg
Estado del nombre de archivo almacenado.

symstat_arg
Estado simbólico del vínculo del nombre de archivo almacenado.

operator!=

La función miembro devuelve !(*this == right).

bool operator!=(const directory_entry& right) const noexcept;

Parameters

right
El directory_entry que se compara con .directory_entry

operador =

Los operadores de asignación de miembros predeterminados se comportan según lo previsto.

directory_entry& operator=(const directory_entry&) = default;
directory_entry& operator=(directory_entry&&) noexcept = default;

Parameters

right
El directory_entry que se copia en .directory_entry

operator==

La función miembro devuelve mypath == right.mypath.

bool operator==(const directory_entry& right) const noexcept;

Parameters

right
El directory_entry que se compara con .directory_entry

operator<

La función miembro devuelve mypath < right.mypath.

bool operator<(const directory_entry& right) const noexcept;

Parameters

right
El directory_entry que se compara con .directory_entry

operator<=

La función miembro devuelve !(right < *this).

bool operator<=(const directory_entry& right) const noexcept;

Parameters

right
El directory_entry que se compara con .directory_entry

operator>

La función miembro devuelve right < *this.

bool operator>(const directory_entry& right) const noexcept;

Parameters

right
El directory_entry que se compara con .directory_entry

operator>=

La función miembro devuelve !(*this < right).

bool operator>=(const directory_entry& right) const noexcept;

Parameters

right
El directory_entry que se compara con .directory_entry

operador const path_type&

El operador miembro devuelve mypath.

operator const std::experimental::filesystem::path&() const;

ruta

La función miembro devuelve mypath.

const std::experimental::filesystem::path& path() const noexcept;

replace_filename

La función miembro reemplaza mypath por mypath.parent_path() / pval, mystat por stat_arg y mysymstat por symstat_arg

void replace_filename(
    const std::experimental::filesystem::path& pval,
    file_status stat_arg = file_status(),
    file_status symstat_arg = file_status());

Parameters

pval
Ruta de acceso del nombre de archivo almacenado.

stat_arg
Estado del nombre de archivo almacenado.

symstat_arg
Estado simbólico del vínculo del nombre de archivo almacenado.

estado

Ambas funciones miembro devuelven mystat posiblemente primero modificadas de la siguiente manera:

  1. Si status_known(mystat) entonces no hace nada.

  2. De lo contrario, si !status_known(mysymstat) && !is_symlink(mysymstat) , a continuación mystat = mysymstat, .

file_status status() const;
file_status status(error_code& ec) const noexcept;

Parameters

ec
Código de error de estado.

Ambas funciones miembro devuelven mysymstat posiblemente la primera modificación como se indica a continuación: Si status_known(mysymstat) , a continuación, no hace nada. En caso contrario, es mysymstat = symlink_status(mypval).

file_status symlink_status() const;
file_status symlink_status(error_code& ec) const noexcept;

Parameters

ec
Código de error de estado.

Consulte también

<experimental/filesystem>
path clase