---
name: "std::filesystem::directory_iterator"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::filesystem::directory_iterator"
---

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

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.
