[fs.path.itr]

31 Input/output library [input.output]

31.12 File systems [filesystems]

31.12.6 Class path [fs.class.path]

31.12.6.6 Iterators [fs.path.itr]

Path iterators iterate over the elements of the pathname in the generic format.

A path​::​iterator is a constant iterator meeting all the requirements of a bidirectional iterator except that, for dereferenceable iterators a and b of type path​::​iterator with a == b, there is no requirement that *a and *b are bound to the same object.

Its value_type is path.

Calling any non-const member function of a path object invalidates all iterators referring to elements of that object.

For the elements of the pathname in the generic format, the forward traversal order is as follows:

  • [Note 1:

    It is possible that the use of the generic format is needed to ensure correct lexicographical comparison.

    — end note]

  • Each successive filename element, if present.

The backward traversal order is the reverse of forward traversal.

Returns: An iterator for the first present element in the traversal list above.

If no elements are present, the end iterator.

Returns: The end iterator.