Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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++)