Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
Opisuje iterator wejściowy, który sekwencjonuje nazwy plików w katalogu. W przypadku iteratora Xwyrażenie *X oblicza obiekt klasy directory_entry , który opakowuje nazwę pliku i wszystkie znane informacje o jego stanie.
Klasa przechowuje obiekt typu path, wywoływany mydir tutaj do celów ekspozycji, który reprezentuje nazwę katalogu do sekwencjonowania, oraz obiekt typu directory_entry o nazwie myentry tutaj, który reprezentuje bieżącą nazwę pliku w sekwencji katalogów. Domyślny skonstruowany obiekt typu directory_entry ma pustą mydir nazwę ścieżki i reprezentuje iterator końca sekwencji.
Na przykład, biorąc pod uwagę katalog abc z wpisami def i ghi, kod:
for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());
wywołuje visit argumenty path("abc/def") i path("abc/ghi").
Aby uzyskać więcej informacji i przykłady kodu, zobacz Nawigacja systemu plików (C++).
Składnia
class directory_iterator;
Konstruktory
| Konstruktor | opis |
|---|---|
directory_iterator |
Tworzy iterator wejściowy, który sekwencjonuje nazwy plików w katalogu. |
Funkcje składowe
| Funkcja składowa | opis |
|---|---|
increment |
Próbuje przejść do następnej nazwy pliku w katalogu. |
Operatory
| Operator | opis |
|---|---|
operator!= |
Zwraca wartość !(*this == right). |
operator= |
Domyślne operatory przypisania składowych zachowują się zgodnie z oczekiwaniami. |
operator== |
Zwraca wartość true tylko wtedy, gdy *thisright obie i są iteratorami końca sekwencji lub obie nie są iteratorami typu end-of-sequence. |
operator* |
Zwraca wartość myentry. |
operator-> |
Zwraca wartość &**this. |
operator++ |
Wywołuje increment()metodę , a następnie zwraca *thiskopię obiektu , wywołuje increment()metodę , a następnie zwraca kopię. |
Wymagania
Nagłówek:<filesystem>
Przestrzeń nazw: std::filesystem
directory_iterator::directory_iterator
Pierwszy konstruktor tworzy iterator końca sekwencji. Konstruktory, które przyjmują argument przechowują pval go w mydirpliku , a następnie próbują otworzyć i odczytać mydir jako katalog. W przypadku powodzenia przechowują pierwszą nazwę pliku w katalogu w myentrykatalogu ; w przeciwnym razie tworzą iterator końca sekwencji. Przeciążenia, które kontrolują options sposób wyliczania katalogu. Przeciążenia, w których ec argument zgłasza błędy ec zamiast zgłaszać wyjątek. Konstruktory kopiowania i przenoszenia zachowują się zgodnie z oczekiwaniami.
directory_iterator() noexcept;
explicit directory_iterator(const path& pval);
directory_iterator(const path& pval, directory_options options);
directory_iterator(const path& pval, error_code& ec) noexcept;
directory_iterator(const path& pval, directory_options options, error_code& ec) noexcept;
directory_iterator(const directory_iterator&) = default;
directory_iterator(directory_iterator&&) noexcept = default;
Parametry
pval
Przechowywana ścieżka nazwy pliku.
options
Wartość directory_options , która kontroluje sposób wyliczania katalogu. Wartość domyślna to directory_options::none.
ec
Kod błędu stanu.
directory_iterator
Przechowywany obiekt.
directory_iterator::increment
Funkcja próbuje przejść do następnej nazwy pliku w katalogu. Jeśli to się powiedzie, przechowuje nazwę pliku w myentrypliku ; w przeciwnym razie tworzy iterator końca sekwencji.
directory_iterator& increment(error_code& ec);
Parametry
ec
Kod błędu stanu.
directory_iterator::operator!=
Operator elementu członkowskiego zwraca wartość !(*this == right).
bool operator!=(const directory_iterator& right) const;
Parametry
right
Element directory_iterator jest porównywany z elementem directory_iterator.
directory_iterator::operator=
Domyślne operatory przypisania składowych zachowują się zgodnie z oczekiwaniami.
directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) noexcept = default;
Parametry
right
Element directory_iterator kopiowany do pliku directory_iterator.
directory_iterator::operator==
Operator składowy zwraca wartość true tylko wtedy, gdy *this iteratory typu "end-of-sequence" i right "end-of-sequence" nie są iteratorami typu end-of-sequence.
bool operator==(const directory_iterator& right) const;
Parametry
right
Directory_iterator porównywany z elementem directory_iterator.
directory_iterator::operator*
Operator elementu członkowskiego zwraca wartość myentry.
const directory_entry& operator*() const;
directory_iterator::operator->
Funkcja składowa zwraca wartość &**this.
const directory_entry * operator->() const;
directory_iterator::operator++
Pierwsza funkcja składowa wywołuje metodę increment(), a następnie zwraca wartość *this. Druga funkcja składowa tworzy kopię obiektu, wywołuje increment()metodę , a następnie zwraca kopię.
directory_iterator& operator++();
directory_iterator operator++(int);
Parametry
int
Fikcyjny argument. Jest to konwencja języka C++ używana tylko do odróżnienia operatora przyrostka postfiksu od operatora przyrostu prefiksu. Standard C++ wymaga, aby formularz postfiksu przyjmować fikcyjny parametr int.
Zobacz też
<filesystem>
Odwołanie do plików nagłówka
Nawigacja systemu plików (C++)