---
name: "std::filesystem_recursive_directory_iterator"
section: "3cxx"
platform: "linux"
package: "libstdc++-11-doc"
version: "11.3.0-12"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/std::filesystem_recursive_directory_iterator"
---

# 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 <fs_dir.h>`

### 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\
 **directory\_options** **options** () const noexcept\
 void **pop** ()\
 void **pop** (**error\_code** &)\
 bool **recursion\_pending** () const noexcept\

### Friends

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

### Related Functions

(Note that these are not member functions.)

**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 recursively traversing a directory hierarchy.

Definition at line **461** of file **bits/fs\_dir.h**.

## Member Typedef Documentation

### typedef ptrdiff\_t std::filesystem::recursive\_directory\_iterator::difference\_type

Definition at line **465** of file **bits/fs\_dir.h**.

### typedef input\_iterator\_tag std::filesystem::recursive\_directory\_iterator::iterator\_category

Definition at line **468** of file **bits/fs\_dir.h**.

### typedef const directory\_entry\* std::filesystem::recursive\_directory\_iterator::pointer

Definition at line **466** of file **bits/fs\_dir.h**.

### typedef const directory\_entry& std::filesystem::recursive\_directory\_iterator::reference

Definition at line **467** of file **bits/fs\_dir.h**.

### typedef directory\_entry std::filesystem::recursive\_directory\_iterator::value\_type

Definition at line **464** of file **bits/fs\_dir.h**.

## Constructor & Destructor Documentation

### std::filesystem::recursive\_directory\_iterator::recursive\_directory\_iterator (const path & \_\_p)` [inline]`, ` [explicit]`

Definition at line **473** of file **bits/fs\_dir.h**.

### std::filesystem::recursive\_directory\_iterator::recursive\_directory\_iterator (const path & \_\_p, directory\_options \_\_options)` [inline]`

Definition at line **476** of file **bits/fs\_dir.h**.

### std::filesystem::recursive\_directory\_iterator::recursive\_directory\_iterator (const path & \_\_p, directory\_options \_\_options, error\_code & \_\_ec)` [inline]`

Definition at line **479** of file **bits/fs\_dir.h**.

### std::filesystem::recursive\_directory\_iterator::recursive\_directory\_iterator (const path & \_\_p, error\_code & \_\_ec)` [inline]`

Definition at line **483** of file **bits/fs\_dir.h**.

## Member Function Documentation

### \_\_directory\_iterator\_proxy std::filesystem::recursive\_directory\_iterator::operator++ (int)` [inline]`

Definition at line **510** of file **bits/fs\_dir.h**.

### const directory\_entry \* std::filesystem::recursive\_directory\_iterator::operator-\> () const` [inline]`, ` [noexcept]`

Definition at line **499** of file **bits/fs\_dir.h**.

## Friends And Related Function Documentation

### bool operator!= (const recursive\_directory\_iterator & \_\_lhs, const recursive\_directory\_iterator & \_\_rhs)` [friend]`

Definition at line **534** of file **bits/fs\_dir.h**.

### bool operator== (const recursive\_directory\_iterator & \_\_lhs, const recursive\_directory\_iterator & \_\_rhs)` [friend]`

Definition at line **526** of file **bits/fs\_dir.h**.

## Author

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