Namespaces
Variants

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

From es.cppreference.net
iterator begin ( ) const ;
(1) (desde C++17)
iterator end ( ) const ;
(2) (desde C++17)
1) Devuelve un iterador al primer elemento de la ruta. Si la ruta está vacía, el iterador devuelto es igual a end() .
2) Devuelve un iterador una posición después del último elemento de la ruta. Desreferenciar este iterador es comportamiento indefinido.

La secuencia denotada por este par de iteradores consiste en lo siguiente:

  1. root-name (si existe).
  2. root-directory (si existe).
  3. Secuencia de file-name s, omitiendo cualquier separador de directorio.
  4. Si hay un separador de directorio después del último file-name en la ruta, el último elemento antes del iterador final es un elemento vacío.

Contenidos

Parámetros

(ninguno)

Valor de retorno

1) Iterador al primer elemento de la ruta.
2) Iterador una posición después del final de la ruta

Excepciones

Puede lanzar excepciones definidas por la implementación.

Ejemplo

#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';
}

Salida posible:

--- 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" │