directory_entry klas

Beschrijft een object dat wordt geretourneerd door het uitstellen van een directory_iterator of een recursive_directory_iterator. Een directory_entry verpakt een path en, als optimalisatie, kan bestandskenmerken opslaan die worden verkregen tijdens het herhalen van een map.

Syntaxis

class directory_entry;

Opmerkingen

Een directory_entry object slaat een path. Als optimalisatie kan het ook de kenmerken en status van het bestand waarnaar het pad verwijst, in de cache opslaan. De gegevens in de cache worden ingevuld wanneer de vermelding wordt gemaakt door een directory-iterator of wanneer u aanroept refresh. Waarnemers zoals file_size, last_write_time, statusen de verschillende is_* predicaten retourneren de gegevens in de cache wanneer deze beschikbaar zijn; anders voeren ze een query uit op het bestandssysteem.

Zie Bestandssysteemnavigatie (C++) voor meer informatie en codevoorbeelden.

Constructors

Constructeur Beschrijving
directory_entry Maakt een directory_entry.

Functies voor leden

Lid, functie Beschrijving
assign Vervangt het opgeslagen pad en vernieuwt de kenmerken in de cache.
exists Controleert of de vermelding verwijst naar een bestaand bestand.
file_size Hiermee wordt de grootte, in bytes, van het bestand waarnaar wordt verwezen, opgehaald.
hard_link_count Hiermee haalt u het aantal vaste koppelingen naar het bestand waarnaar wordt verwezen op.
is_block_file Controleert of het bestand waarnaar wordt verwezen een speciaal blokbestand is.
is_character_file Controleert of het bestand waarnaar wordt verwezen een speciaal tekenbestand is.
is_directory Controleert of het bestand waarnaar wordt verwezen een map is.
is_fifo Controleert of het bestand waarnaar wordt verwezen een benoemde pipe (FIFO) is.
is_other Controleert of het bestand waarnaar wordt verwezen een ander bestand is.
is_regular_file Controleert of het bestand waarnaar wordt verwezen een gewoon bestand is.
is_socket Controleert of het bestand waarnaar wordt verwezen een socket is.
is_symlink Controleert of het bestand waarnaar wordt verwezen een symbolische koppeling is.
last_write_time Hiermee haalt u de tijd op van de laatste wijziging van de gegevens van het bestand waarnaar wordt verwezen.
path Retourneert het opgeslagen pad.
refresh Hiermee worden de bestandskenmerken in de cache vernieuwd.
replace_filename Vervangt de bestandsnaam van het opgeslagen pad en vernieuwt de kenmerken in de cache.
status Hiermee wordt de status van het bestand waarnaar wordt verwezen, opgehaald met behulp van symbolische koppelingen.
symlink_status Hiermee wordt de status van het bestand waarnaar wordt verwezen, opgehaald zonder symbolische koppelingen te volgen.

Bedieners

Operator Beschrijving
operator= Wordt toegewezen aan de directory_entry.
operator const path& Retourneert het opgeslagen pad.
operator== Hiermee wordt gecontroleerd of twee directory_entry objecten gelijk zijn.
operator<=> Voert een vergelijking in drie richtingen uit van twee directory_entry objecten. (C++20)
operator!= Controleert of twee directory_entry objecten ongelijk zijn. Een expliciet lid in C++17; ondersteund door herschreven vergelijkingen in C++20 en hoger.
operator< Controleert of de directory_entry sorteringen vóór een andere directory_entryworden uitgevoerd. Een expliciet lid in C++17; ondersteund door herschreven vergelijkingen in C++20 en hoger.
operator<= Hiermee wordt gecontroleerd of de directory_entry sorteringen vóór of gelijk zijn aan een andere directory_entry. Een expliciet lid in C++17; ondersteund door herschreven vergelijkingen in C++20 en hoger.
operator> Controleert of de directory_entry sorteringen na een andere directory_entryworden uitgevoerd. Een expliciet lid in C++17; ondersteund door herschreven vergelijkingen in C++20 en hoger.
operator>= Hiermee wordt gecontroleerd of de directory_entry sorteringen na of gelijk zijn aan een andere directory_entry. Een expliciet lid in C++17; ondersteund door herschreven vergelijkingen in C++20 en hoger.

Requirements

Rubriek:<filesystem>

Naamruimte:std::filesystem

directory_entry

Maakt een directory_entry.

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

explicit directory_entry(const std::filesystem::path& p);
directory_entry(const std::filesystem::path& p, std::error_code& ec);

~directory_entry();

Parameters

p
Het pad naar het bestand waarnaar de vermelding verwijst.

ec
De uitvoerfoutcode voor de bewerking.

Opmerkingen

De standaardconstructors voor kopiëren en verplaatsen gedragen zich zoals verwacht. De constructors die een path archief p nemen en vervolgens aanroepen refresh om de kenmerken in de cache te vullen. De overbelasting die een error_code rapportfout maakt in ec in plaats van te gooien, en wist het opgeslagen pad als de vernieuwing mislukt.

operator=

Wordt toegewezen aan de directory_entry.

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

Parameters

rechts
De directory_entry te kopiëren of naar deze directory_entryte verplaatsen .

Opmerkingen

De standaardtoewijzingsoperatoren gedragen zich zoals verwacht.

assign

Vervangt het opgeslagen pad en vernieuwt de kenmerken in de cache.

void assign(const std::filesystem::path& p);
void assign(const std::filesystem::path& p, std::error_code& ec);

Parameters

p
Het nieuwe pad om op te slaan.

ec
De uitvoerfoutcode voor de bewerking.

Opmerkingen

Vervangt het opgeslagen pad door p en roept refresh vervolgens aan om de kenmerken in de cache bij te werken. De overbelasting die een error_code rapportfout in ec neemt in plaats van te gooien.

replace_filename

Vervangt de bestandsnaam van het opgeslagen pad en vernieuwt de kenmerken in de cache.

void replace_filename(const std::filesystem::path& p);
void replace_filename(const std::filesystem::path& p, std::error_code& ec);

Parameters

p
De vervangende bestandsnaam.

ec
De uitvoerfoutcode voor de bewerking.

Opmerkingen

Vervangt het bestandsbestandsonderdeel van het opgeslagen pad door p, alsof door path().replace_filename(p), roept vervolgens refreshaan. De overbelasting die een error_code rapportfout in ec neemt in plaats van te gooien.

vernieuwen

Hiermee worden de bestandskenmerken in de cache vernieuwd.

void refresh();
void refresh(std::error_code& ec) noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Opmerkingen

Leest de kenmerken van het bestand waarnaar het opgeslagen pad verwijst en slaat deze in de directory_entrycache op. Aanroep refresh om de gegevens in de cache bij te werken nadat het bestand waarnaar wordt verwezen, is gewijzigd. De overbelasting die een error_code rapportfout in ec neemt in plaats van te gooien.

path

Retourneert het opgeslagen pad.

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

operator const path&

Retourneert het opgeslagen pad.

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

bestaat

Controleert of de vermelding verwijst naar een bestaand bestand.

bool exists() const;
bool exists(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het opgeslagen pad verwijst naar een bestaand bestand; anders, false. Equivalent aan aanroepen filesystem::exists(status()).

is_block_file

Controleert of het bestand waarnaar wordt verwezen een speciaal blokbestand is.

bool is_block_file() const;
bool is_block_file(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen een speciaal blokbestand is; anders, false. Deze functie retourneert false altijd Windows.

is_character_file

Controleert of het bestand waarnaar wordt verwezen een speciaal tekenbestand is.

bool is_character_file() const;
bool is_character_file(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen een speciaal tekenbestand is; anders, false. Deze functie retourneert false altijd Windows.

is_directory

Controleert of het bestand waarnaar wordt verwezen een map is.

bool is_directory() const;
bool is_directory(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen een map is; anders, false. Equivalent aan aanroepen filesystem::is_directory(status()).

is_fifo

Controleert of het bestand waarnaar wordt verwezen een benoemde pipe (FIFO) is.

bool is_fifo() const;
bool is_fifo(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen een FIFO is; anders, false. Deze functie retourneert false altijd Windows.

is_other

Controleert of het bestand waarnaar wordt verwezen een ander bestand is.

bool is_other() const;
bool is_other(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen bestaat, maar geen gewone bestands-, map- of symbolische koppeling is; anders, false. Equivalent aan aanroepen filesystem::is_other(status()).

is_regular_file

Controleert of het bestand waarnaar wordt verwezen een gewoon bestand is.

bool is_regular_file() const;
bool is_regular_file(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen een normaal bestand is; anders, false. Equivalent aan aanroepen filesystem::is_regular_file(status()).

is_socket

Controleert of het bestand waarnaar wordt verwezen een socket is.

bool is_socket() const;
bool is_socket(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen een socket is; anders, false. Deze functie retourneert false altijd Windows.

Controleert of het bestand waarnaar wordt verwezen een symbolische koppeling is.

bool is_symlink() const;
bool is_symlink(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

true als het bestand waarnaar wordt verwezen een symbolische koppeling is; anders, false. Equivalent aan aanroepen filesystem::is_symlink(symlink_status()).

bestandsgrootte

Hiermee wordt de grootte, in bytes, van het bestand waarnaar wordt verwezen, opgehaald.

uintmax_t file_size() const;
uintmax_t file_size(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

De grootte, in bytes, van het bestand waarnaar wordt verwezen, alsof door filesystem::file_size(path()). Gebruikt gegevens in de cache wanneer deze beschikbaar zijn.

Hiermee haalt u het aantal vaste koppelingen naar het bestand waarnaar wordt verwezen op.

uintmax_t hard_link_count() const;
uintmax_t hard_link_count(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

Het aantal vaste koppelingen naar het bestand waarnaar wordt verwezen, alsof door filesystem::hard_link_count(path()). Gebruikt gegevens in de cache wanneer deze beschikbaar zijn.

last_write_time

Hiermee haalt u de tijd op van de laatste wijziging van de gegevens van het bestand waarnaar wordt verwezen.

file_time_type last_write_time() const;
file_time_type last_write_time(std::error_code& ec) const noexcept;

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

De tijd van de laatste wijziging van de gegevens van het bestand waarnaar wordt verwezen, alsof door filesystem::last_write_time(path()). Gebruikt gegevens in de cache wanneer deze beschikbaar zijn.

status

Hiermee wordt de status van het bestand waarnaar wordt verwezen, opgehaald met behulp van symbolische koppelingen.

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

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

De status van het bestand waarnaar wordt verwezen, alsof door filesystem::status(path()). Gebruikt gegevens in de cache wanneer deze beschikbaar zijn.

Hiermee wordt de status van het bestand waarnaar wordt verwezen, opgehaald zonder symbolische koppelingen te volgen.

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

Parameters

ec
De uitvoerfoutcode voor de bewerking.

Retourwaarde

De symlinkstatus van het bestand waarnaar wordt verwezen, alsof door filesystem::symlink_status(path()). Gebruikt gegevens in de cache wanneer deze beschikbaar zijn.

operator==

Hiermee wordt gecontroleerd of twee directory_entry objecten gelijk zijn.

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

Parameters

rechts
De directory_entry te vergelijken met.

Retourwaarde

Retourneert path() == right.path().

operator<=>

Voert een vergelijking in drie richtingen uit van twee directory_entry objecten.

std::strong_ordering operator<=>(const directory_entry& right) const noexcept; // C++20

Parameters

rechts
De directory_entry te vergelijken met.

Retourwaarde

Retourneert path() <=> right.path().

Opmerkingen

Beschikbaar in C++20 en hoger. De compiler herschrijft vergelijkingen die gebruikmaken operator<van, operator<=of operator>operator>= om deze operator te gebruiken. Hiermee worden vergelijkingen herschreven die worden gebruikt operator!= om te gebruiken operator==.

operator!=

Controleert of twee directory_entry objecten ongelijk zijn.

bool operator!=(const directory_entry& right) const noexcept; // C++17

Parameters

rechts
De directory_entry te vergelijken met.

Retourwaarde

Retourneert !(*this == right).

Opmerkingen

In C++17 is deze operator een expliciet gedeclareerde lidfunctie. In C++20 en hoger wordt een expressie die wordt gebruikt operator!= , herschreven voor gebruik operator==.

operator<

Controleert of de directory_entry sorteringen vóór een andere directory_entryworden uitgevoerd.

bool operator<(const directory_entry& right) const noexcept; // C++17

Parameters

rechts
De directory_entry te vergelijken met.

Retourwaarde

Retourneert path() < right.path().

Opmerkingen

In C++17 is deze operator een expliciet gedeclareerde lidfunctie. In C++20 en hoger wordt een expressie die wordt gebruikt operator< , herschreven voor gebruik operator<=>.

operator<=

Hiermee wordt gecontroleerd of de directory_entry sorteringen vóór of gelijk zijn aan een andere directory_entry.

bool operator<=(const directory_entry& right) const noexcept; // C++17

Parameters

rechts
De directory_entry te vergelijken met.

Retourwaarde

Retourneert !(right < *this).

Opmerkingen

In C++17 is deze operator een expliciet gedeclareerde lidfunctie. In C++20 en hoger wordt een expressie die wordt gebruikt operator<= , herschreven voor gebruik operator<=>.

operator>

Controleert of de directory_entry sorteringen na een andere directory_entryworden uitgevoerd.

bool operator>(const directory_entry& right) const noexcept; // C++17

Parameters

rechts
De directory_entry te vergelijken met.

Retourwaarde

Retourneert right < *this.

Opmerkingen

In C++17 is deze operator een expliciet gedeclareerde lidfunctie. In C++20 en hoger wordt een expressie die wordt gebruikt operator> , herschreven voor gebruik operator<=>.

operator>=

Hiermee wordt gecontroleerd of de directory_entry sorteringen na of gelijk zijn aan een andere directory_entry.

bool operator>=(const directory_entry& right) const noexcept; // C++17

Parameters

rechts
De directory_entry te vergelijken met.

Retourwaarde

Retourneert !(*this < right).

Opmerkingen

In C++17 is deze operator een expliciet gedeclareerde lidfunctie. In C++20 en hoger wordt een expressie die wordt gebruikt operator>= , herschreven voor gebruik operator<=>.

Zie ook

headerbestanden
<filesystem>
Bestandssysteemnavigatie (C++)