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;