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.
Important
Esta página descreve a directory_iterator classe da implementação pré-teste <experimental/filesystem> da Especificação Técnica do Sistema de Arquivos ISO C++ (N4100). Essa API não é a mesma da classe C++17 directory_iterator em <filesystem>. Ele usa assinaturas diferentes, incluindo um conjunto mais estreito de construtores que não directory_options tem sobrecarga. A implementação experimental foi removida a partir do conjunto de ferramentas do Microsoft Visual C++ (MSVC) 14.51. Em vez disso, o novo código deve usar a classe C++17 directory_iterator .
Descreve um iterador de entrada que é sequenciado por meio dos nomes de arquivo em um diretório. Para um iterador X, a expressão *X é avaliada como um objeto de classe directory_entry que encapsula o nome do arquivo e qualquer coisa conhecida sobre seu status.
A classe armazena um objeto 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 do arquivo atual na sequência de diretórios. Um objeto de tipo directory_entry construído padrão tem um nome de caminho vazio mydir e representa o iterador de fim de sequência.
Por exemplo, considerando o diretório abc com entradas def e ghio 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").
Sintaxe
class directory_iterator;
Constructors
| Construtor | Description |
|---|---|
directory_iterator |
Constrói um iterador de entrada que é sequenciado por meio dos nomes de arquivo em um diretório. |
Funções de membro
| Função de membro | Description |
|---|---|
increment |
Tenta avançar para o próximo nome de arquivo no diretório. |
Operadores
| Operador | Description |
|---|---|
operator!= |
Retorna !(*this == right). |
operator= |
Os operadores de atribuição de membro padrão se comportam conforme o esperado. |
operator== |
Retorna true somente se ambos *this e 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 *thisou faz uma cópia do objeto, chama increment()e retorna a cópia. |
Requirements
Cabeçalho:<experimental/filesystem>
Namespace:std::experimental::filesystem
directory_iterator::directory_iterator
O primeiro construtor produz um iterador de fim de sequência. Os construtores que levam um pval argumento o armazenam mydir, em seguida, tentam abrir e ler mydir como um diretório. Se tiver êxito, eles armazenarão o primeiro nome de arquivo no diretório; myentrycaso contrário, produzem um iterador de fim de sequência. A sobrecarga que usa um ec argumento relata erros em ec vez de gerar uma exceção. Os construtores de cópia e movimentação se comportam 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&&) = default;
Parâmetros
pval
O caminho do nome do arquivo armazenado.
ec
O código de erro de 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 tiver êxito, ele armazenará esse nome de arquivo myentry; caso contrário, ele produzirá um iterador de fim de sequência.
directory_iterator& increment(error_code& ec) noexcept;
Parâmetros
ec
O código de erro de status.
directory_iterator::operator!=
O operador retorna !(*this == right).
bool operator!=(const directory_iterator& right) const;
Parâmetros
right
O directory_iterator ser comparado com o directory_iterator.
directory_iterator::operator=
Os operadores de atribuição de membro padrão se comportam conforme o esperado.
directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) = default;
Parâmetros
right
O directory_iterator que está sendo copiado para o directory_iterator.
directory_iterator::operator==
O operador 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 ser comparado com o directory_iterator.
directory_iterator::operator*
O operador 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 retorna *this. A segunda função membro faz uma cópia do objeto, chama increment()e retorna a cópia.
directory_iterator& operator++();
directory_iterator operator++(int);
Parâmetros
int
Argumento fictício. É uma convenção C++ usada apenas para distinguir o operador de incremento de postfixo do operador de incremento de prefixo. O padrão C++ requer o formulário de postfixo para usar um parâmetro de int fictício.