Namespaces
Variants

std::filesystem::directory_entry:: is_directory

From cppreference.net
bool is_directory ( ) const ;
(1) (desde C++17)
bool is_directory ( std:: error_code & ec ) const noexcept ;
(2) (desde C++17)

Comprueba si el objeto apuntado es un directorio. Efectivamente retorna:

2) std:: filesystem :: is_directory ( status ( ec ) ) .

Contenidos

Parámetros

ec - parámetro de salida para reporte de errores en la sobrecarga que no lanza excepciones

Valor de retorno

true si el objeto del sistema de archivos referenciado es un directorio, false en caso contrario.

Excepciones

Cualquier sobrecarga no marcada como noexcept puede lanzar std::bad_alloc si la asignación de memoria falla.

1) Lanza std::filesystem::filesystem_error en errores de la API del sistema operativo subyacente, construido con p como primer argumento de ruta y el código de error del sistema operativo como argumento de código de error.
2) Establece un parámetro std:: error_code & al código de error de la API del sistema operativo si una llamada a la API del SO falla, y ejecuta ec. clear ( ) si no ocurren errores.

Ejemplo

#include <filesystem>
#include <iostream>
#include <string_view>
namespace fs = std::filesystem;
void check_directory(fs::directory_entry const& d, std::string_view rem = "")
{
    std::cout << "is_directory(" << d << "): " << d.is_directory() << rem << '\n';
}
int main()
{
    fs::directory_entry d1(".");
    fs::directory_entry d2("file.txt");
    fs::directory_entry d3("new_dir");
    std::cout << std::boolalpha;
    check_directory(d1);
    check_directory(d2);
    check_directory(d3, " (has not been created yet).");
    std::filesystem::create_directory("new_dir");
    check_directory(d3, " (before refresh).");
    d3.refresh();
    check_directory(d3, " (after refresh).");
}

Salida posible:

is_directory("."): true
is_directory("file.txt"): false
is_directory("new_dir"): false (has not been created yet).
is_directory("new_dir"): false (before refresh).
is_directory("new_dir"): true (after refresh).

Véase también

comprueba si la ruta dada se refiere a un directorio
(función)