---
name: "std::filesystem::recursive_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::recursive_directory_iterator/3cxx"
---

# std::filesystem::recursive\_directory\_iterator(3cxx)

Iterator type for recursively traversing a directory hierarchy.

## NAME

std::filesystem::recursive\_directory\_iterator - Iterator type for recursively traversing a directory hierarchy.

## 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

**recursive\_directory\_iterator** (const **path** &\_\_p)\
 **recursive\_directory\_iterator** (const **path** &\_\_p, **directory\_options** **\_\_options**)\
 **recursive\_directory\_iterator** (const **path** &\_\_p, **directory\_options** **\_\_options**, **error\_code** &**\_\_ec**)\
 **recursive\_directory\_iterator** (const **path** &\_\_p, **error\_code** &**\_\_ec**)\
 **recursive\_directory\_iterator** (const **recursive\_directory\_iterator** &)=**default**\
 **recursive\_directory\_iterator** (**recursive\_directory\_iterator** &&)=**default**\
 int **depth** () const noexcept\
 **void** **disable\_recursion\_pending** () noexcept\
 **recursive\_directory\_iterator** & **increment** (**error\_code** &**\_\_ec**)\
 const **directory\_entry** & **operator\*** () const noexcept\
 **recursive\_directory\_iterator** & **operator++** ()\
 \_\_directory\_iterator\_proxy **operator++** (int)\
 const **directory\_entry** \* **operator-\>** () const noexcept\
 **recursive\_directory\_iterator** & **operator=** (const **recursive\_directory\_iterator** &**\_\_rhs**) noexcept\
 **recursive\_directory\_iterator** & **operator=** (**recursive\_directory\_iterator** &&**\_\_rhs**) noexcept\
 bool **operator==** (**default\_sentinel\_t**) const noexcept\
 **directory\_options** **options** () const noexcept\
 **void** **pop** ()\
 **void** **pop** (**error\_code** &)\
 bool **recursion\_pending** () const noexcept\

### Friends

uintmax\_t **filesystem::remove\_all** (const **path** &)\
 uintmax\_t **filesystem::remove\_all** (const **path** &, **error\_code** &)\
 bool **operator==** (const **recursive\_directory\_iterator** &**\_\_lhs**, const **recursive\_directory\_iterator** &**\_\_rhs**) noexcept\

## Detailed Description

Iterator type for recursively traversing a directory hierarchy.

**Since**

C++17

## Author

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