Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Classe
Descreve um iterador de entrada que percorre em sequência os nomes de arquivo em um diretório. Para um iterador X, a expressão *X é avaliada como um objeto da classe directory_entry que encapsula o nome do arquivo e o que for conhecido sobre seu status.
A classe armazena um objeto de caminho de tipo path, chamado mydir aqui para fins de exposição, que representa o nome do diretório a ser sequenciado e um objeto do tipo directory_entry chamado myentry aqui, que representa o nome de arquivo atual na sequência do diretório. Um objeto construído padrão do tipo directory_entry tem um nome de caminho mydir vazio e representa o iterador de fim de sequência.
Por exemplo, dado o diretório abc com entradas def e ghi, o código:
for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());
chamadas visit com os argumentos path("abc/def") e path("abc/ghi").
Para obter mais informações e exemplos de código, consulte Navegação do Sistema de Arquivos (C++).
Sintaxe
class directory_iterator;
Construtores
| Construtor | Descrição |
|---|---|
directory_iterator |
Constrói um iterador de entrada que percorre em sequência os nomes de arquivo em um diretório. |
Funções de membro
| Função de membro | Descrição |
|---|---|
increment |
Tenta avançar para o próximo nome de arquivo no diretório. |
Operadores
| Operador | Descrição |
|---|---|
operator!= |
Retorna !(*this == right). |
operator= |
Os operadores de atribuição de membro usados como padrão se comportam como esperado. |
operator== |
Retorna true somente se ambos e *this right são iteradores de fim de sequência ou ambos não são iteradores de fim de sequência. |
operator* |
Retorna myentry. |
operator-> |
Retorna &**this. |
operator++ |
Chama increment(), retorna *this ou faz uma cópia do objeto, chama increment() e retorna a cópia. |
Requisitos
Cabeçalho: <filesystem>
Namespace: std::filesystem
directory_iterator::directory_iterator
O primeiro construtor produz um iterador de fim de sequência. O segundo e o terceiro construtores armazenam pval em mydir, depois tentam abrir e ler mydir como um diretório. Se tiverem êxito, eles armazenarão o primeiro nome de arquivo no diretório em myentry; caso contrário, produzirão um iterador de fim de sequência.
O construtor padrão se comporta conforme o esperado.
directory_iterator() noexcept;
explicit directory_iterator(const path& pval);
directory_iterator(const path& pval, error_code& ec) noexcept;
directory_iterator(const directory_iterator&) = default;
directory_iterator(directory_iterator&&) noexcept = default;
Parâmetros
pval
O caminho do nome do arquivo armazenado.
ec
O código de erro do status.
directory_iterator
O objeto armazenado.
directory_iterator::increment
A função tenta avançar para o próximo nome de arquivo no diretório. Se for bem-sucedido, armazenará esse nome de arquivo em myentry, caso contrário, produzirá um iterador de final de sequência.
directory_iterator& increment(error_code& ec) noexcept;
directory_iterator::operator!=
O operador de membro retorna !(*this == right).
bool operator!=(const directory_iterator& right) const;
Parâmetros
right
O directory_iterator ser comparado ao directory_iterator.
directory_iterator::operator=
Os operadores de atribuição de membro usados como padrão se comportam como esperado.
directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) noexcept = default;
Parâmetros
right
O directory_iterator que está sendo copiado no directory_iterator.
directory_iterator::operator==
O operador membro retornará true somente se ambos *this e right forem iteradores de fim de sequência ou ambos não forem iteradores de fim de sequência.
bool operator==(const directory_iterator& right) const;
Parâmetros
right
O directory_iterator sendo comparado com o directory_iterator.
directory_iterator::operator*
O operador de membro retorna myentry.
const directory_entry& operator*() const;
directory_iterator::operator->
A função membro retorna &**this.
const directory_entry * operator->() const;
directory_iterator::operator++
A primeira função membro chama increment() e, em seguida, retorna *this. A segunda função membro copia o objeto, chama increment() e, em seguida, retorna a cópia.
directory_iterator& operator++();
directory_iterator& operator++(int);
Parâmetros
int
O número de incrementos.
Confira também
<filesystem>
Referência de Arquivos de Cabeçalho
Navegação no sistema de arquivos (C++)