---
name: "std::filesystem::directory_iterator"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::filesystem::directory_iterator/3cxx"
---

# std::filesystem::directory\_iterator(3cxx)

Iterator type for traversing the entries in a single directory.

## NAME

std::filesystem::directory\_iterator - Iterator type for traversing the entries in a single directory.

## SYNOPSIS

`#include <filesystem>`

### Public Types

**typedef** ptrdiff\_t **difference\_type**\
 **typedef** **input\_iterator\_tag** **iterator\_category**\
 **typedef** const **directory\_entry** \* **pointer**\
 **typedef** const **directory\_entry** & **reference**\
 **typedef** **directory\_entry** **value\_type**\

### Public Member Functions

**directory\_iterator** (const **directory\_iterator** &**\_\_rhs**)=**default**\
 **directory\_iterator** (const **path** &\_\_p)\
 **directory\_iterator** (const **path** &\_\_p, **directory\_options** **\_\_options**)\
 **directory\_iterator** (const **path** &\_\_p, **directory\_options** **\_\_options**, **error\_code** &**\_\_ec**)\
 **directory\_iterator** (const **path** &\_\_p, **error\_code** &**\_\_ec**)\
 **directory\_iterator** (**directory\_iterator** &&**\_\_rhs**) noexcept=**default**\
 **directory\_iterator** & **increment** (**error\_code** &**\_\_ec**)\
 const **directory\_entry** & **operator\*** () const noexcept\
 **directory\_iterator** & **operator++** ()\
 \_\_directory\_iterator\_proxy **operator++** (int)\
 const **directory\_entry** \* **operator-\>** () const noexcept\
 **directory\_iterator** & **operator=** (const **directory\_iterator** &**\_\_rhs**)=**default**\
 **directory\_iterator** & **operator=** (**directory\_iterator** &&**\_\_rhs**) noexcept=**default**\
 bool **operator==** (**default\_sentinel\_t**) const noexcept\

### Friends

bool **operator==** (const **directory\_iterator** &**\_\_lhs**, const **directory\_iterator** &**\_\_rhs**) noexcept\
 **class** **recursive\_directory\_iterator**\

### Related Symbols

(Note that these are not member symbols.)

**directory\_iterator** **begin** (**directory\_iterator** \_\_iter) noexcept\
 Enable range-based `for` using directory\_iterator.  **directory\_iterator** **end** (**directory\_iterator**) noexcept\
 Return a past-the-end directory\_iterator.

**recursive\_directory\_iterator** **begin** (**recursive\_directory\_iterator** \_\_iter) noexcept\
 Enable range-based `for` using recursive\_directory\_iterator.  **recursive\_directory\_iterator** **end** (**recursive\_directory\_iterator**) noexcept\
 Return a past-the-end recursive\_directory\_iterator.

## Detailed Description

Iterator type for traversing the entries in a single directory.

**Since**

C++17

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
