Namespaces
Variants

std::filesystem::path:: begin, std::filesystem::path:: end

From cppreference.net
iterator begin ( ) const ;
(1) (начиная с C++17)
iterator end ( ) const ;
(2) (начиная с C++17)
1) Возвращает итератор на первый элемент пути. Если путь пуст, возвращаемый итератор равен end() .
2) Возвращает итератор, указывающий за последний элемент пути. Разыменование этого итератора приводит к неопределенному поведению.

Последовательность, обозначенная этой парой итераторов, состоит из следующего:

  1. root-name (если есть).
  2. root-directory (если есть).
  3. Последовательность file-name s, пропуская любые разделители директорий.
  4. Если после последнего file-name в пути есть разделитель директорий, последний элемент перед конечным итератором является пустым элементом.

Содержание

Параметры

(нет)

Возвращаемое значение

1) Итератор на первый элемент пути.
2) Итератор за концом пути

Исключения

Может генерировать исключения, определяемые реализацией.

Пример

#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
int main()
{
    const fs::path p = 
#   ifdef _WIN32
        "C:\\users\\abcdef\\AppData\\Local\\Temp\\";
#   else
        "/home/user/.config/Cppcheck/Cppcheck-GUI.conf";
#   endif
    std::cout << "Examining the path " << p << " through iterators gives\n";
    for (auto it = p.begin(); it != p.end(); ++it)
        std::cout << *it << " │ ";
    std::cout << '\n';
}

Возможный вывод:

--- Windows ---
Examining the path "C:\users\abcdef\AppData\Local\Temp\" through iterators gives
"C:" │ "/" │ "users" │ "abcdef" │ "AppData" │ "Local" │ "Temp" │ "" │
--- UNIX ---
Examining the path "/home/user/.config/Cppcheck/Cppcheck-GUI.conf" through iterators gives
"/" │ "home" │ "user" │ ".config" │ "Cppcheck" │ "Cppcheck-GUI.conf" │