9#include "ioss_export.h"
39 explicit FileInfo(std::string my_filename);
43 explicit FileInfo(
const char *my_filename);
51 FileInfo(
const std::string &dirpath,
const std::string &my_filename);
104 static void create_path(
const std::string &filename,
106 static void create_path(
const std::string &filename);
#define IOSS_MAYBE_UNUSED
Definition Ioss_CodeTypes.h:55
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:56
MPI_Comm Ioss_MPI_Comm
Definition Ioss_CodeTypes.h:61
IOSS_NODISCARD time_t modified() const
Time of last data modification. See 'man stat(2)'.
Definition Ioss_FileInfo.C:245
IOSS_NODISCARD int parallel_exists(Ioss_MPI_Comm communicator, std::string &where) const
Definition Ioss_FileInfo.C:91
IOSS_NODISCARD off_t size() const
File size in bytes. Only if is_file() == true.
Definition Ioss_FileInfo.C:284
IOSS_NODISCARD std::string tailname() const
basename() + extension()
Definition Ioss_FileInfo.C:341
IOSS_NODISCARD bool is_executable() const
Exists and is executable.
Definition Ioss_FileInfo.C:128
IOSS_NODISCARD bool is_readable() const
Exists and is readable.
Definition Ioss_FileInfo.C:122
IOSS_NODISCARD std::string_view filesystem_type() const
Best guess at filesystem type (nfs, lustre, gpfs, unknown)
Definition Ioss_FileInfo.C:172
IOSS_NODISCARD std::string filename() const
Complete filename including path.
Definition Ioss_FileInfo.C:297
IOSS_NODISCARD time_t accessed() const
Time of last access.
Definition Ioss_FileInfo.C:258
IOSS_NODISCARD bool is_symlink() const
Is a symbolic link to a file or directory.
Definition Ioss_FileInfo.C:159
bool readable_
this is used frequently, check on creation
Definition Ioss_FileInfo.h:111
IOSS_NODISCARD time_t created() const
Time of last status change. (creation, chmod, ...)
Definition Ioss_FileInfo.C:271
IOSS_NODISCARD bool is_writable() const
Exists and is writable.
Definition Ioss_FileInfo.C:125
IOSS_NODISCARD bool exists() const
returns True if file exists, false if nonexistent
Definition Ioss_FileInfo.C:89
IOSS_NODISCARD bool operator==(const FileInfo &other) const
Definition Ioss_FileInfo.h:89
bool exists_
this is used frequently, check on creation
Definition Ioss_FileInfo.h:110
IOSS_NODISCARD bool operator!=(const FileInfo &other) const
Definition Ioss_FileInfo.h:94
void set_filename(const std::string &name)
Definition Ioss_FileInfo.C:300
IOSS_NODISCARD bool is_nfs() const
Is on an NFS filesystem.
Definition Ioss_FileInfo.C:211
IOSS_NODISCARD std::string extension() const
file extension.
Definition Ioss_FileInfo.C:318
IOSS_NODISCARD std::string basename() const
strip path and extension
Definition Ioss_FileInfo.C:351
IOSS_NODISCARD std::string realpath() const
canonicalized absolute path
Definition Ioss_FileInfo.C:364
IOSS_NODISCARD bool is_dir() const
Is a directory.
Definition Ioss_FileInfo.C:146
FileInfo()
Empty class referring to no file.
std::string filename_
Definition Ioss_FileInfo.h:109
IOSS_NODISCARD std::string pathname() const
directory path, no filename
Definition Ioss_FileInfo.C:331
FileInfo(const FileInfo &)
Copy constructor.
IOSS_NODISCARD bool is_file() const
Is a plain file.
Definition Ioss_FileInfo.C:132
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40