30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.27 Class path [fs.class.path]

30.10.27.5 path iterators [fs.path.itr]

Итераторы пути перебирают элементы имени пути в generic format.

A path​::​iterator - это постоянный итератор, удовлетворяющий всем требованиям a, bidirectional iterator за исключением того, что для разыменяемых итераторов a и b типа path​::​iterator with a == bнет требований, чтобы *a и *b были привязаны к одному и тому же объекту. Его value_­type это path.

Вызов любой неконстантной функции-члена path объекта делает недействительными все итераторы, ссылающиеся на элементы этого объекта.

Для элементов имени пути в универсальном формате порядок прямого обхода следующий:

  • root-nameЭлемент, если он присутствует.

  • root-directoryЭлемент, если он присутствует. [ Note: Общий формат необходим для правильной работы лексикографического сравнения. ] end note

  • Каждый последующий filenameэлемент, если присутствует.

  • Пустой элемент, если присутствует конечный некорневой элемент directory-separator .

Порядок обратного обхода обратен прямому обходу.

iterator begin() const;

Returns: Итератор для первого присутствующего элемента в списке обхода выше. Если элементы отсутствуют, конечный итератор.

iterator end() const;

Returns: Конечный итератор.