[fs.rec.dir.itr.nonmembers]

# 31 Input/output library [[input.output]](./#input.output)

## 31.12 File systems [[filesystems]](filesystems#fs.rec.dir.itr.nonmembers)

### 31.12.12 Class recursive_directory_iterator [[fs.class.rec.dir.itr]](fs.class.rec.dir.itr#fs.rec.dir.itr.nonmembers)

#### 31.12.12.3 Non-member functions [fs.rec.dir.itr.nonmembers]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L17122)

These functions enable use of recursive_directory_iterator with range-based for statements[.](#1.sentence-1)

[ð](#lib:begin,recursive_directory_iterator)

`recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L17132)

*Returns*: iter[.](#2.sentence-1)

[ð](#lib:end,recursive_directory_iterator)

`recursive_directory_iterator end(recursive_directory_iterator) noexcept;
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L17143)

*Returns*: recursive_directory_iterator()[.](#3.sentence-1)
