21 # include <vcl_msvc_warnings.h> 23 #include <vxl_config.h> 58 #if defined(_WIN32) && !defined(__CYGWIN__) 60 static bool is_drive(
char const* filename);
61 static bool is_drive(
const std::string& filename) {
62 return is_drive(filename.c_str());
73 static bool exists(
char const* filename);
74 static bool exists(std::string
const& filename) {
75 return exists(filename.c_str());
79 static unsigned long size(
char const* filename);
80 static unsigned long size(std::string filename) {
return size(filename.c_str()); }
83 static std::string
dirname(
char const* filename);
84 static std::string
dirname(std::string
const& filename) {
85 return dirname(filename.c_str());
89 static std::string
extension(
char const* filename);
90 static std::string
extension(std::string
const& filename) {
96 static std::string
basename(
char const* filename,
char const* suffix =
nullptr);
97 static std::string
basename(std::string
const& filename,
char const* suffix =
nullptr) {
98 return basename(filename.c_str(), suffix );
120 #if defined(_WIN32) && VXL_USE_WIN_WCHAR_T 124 static std::string
get_cwd(
char* )
128 static std::wstring
get_cwd(
wchar_t* dummy);
153 static bool is_directory(
const std::wstring& filename) {
158 static bool is_drive(
wchar_t const* filename);
159 static bool is_drive(
const std::wstring& filename) {
160 return is_drive(filename.c_str());
164 static std::wstring
expand_tilde(
wchar_t const* filename) {
166 return std::wstring(filename);
168 static std::wstring
expand_tilde(std::wstring
const& filename) {
174 static bool exists(
wchar_t const* filename);
175 static bool exists(std::wstring
const& filename) {
176 return exists(filename.c_str());
184 static std::wstring
dirname(
wchar_t const* filename);
185 static std::wstring
dirname(std::wstring
const& filename) {
186 return dirname(filename.c_str());
190 static std::wstring
extension(
wchar_t const* filename);
191 static std::wstring
extension(std::wstring
const& filename) {
196 static std::wstring
basename(
wchar_t const* filename,
wchar_t const* suffix = 0);
197 static std::wstring
basename(std::wstring
const& filename,
wchar_t const* suffix = 0) {
198 return basename(filename.c_str(), suffix );
232 #endif // vul_file_h_ static bool delete_file_glob(char const *file_glob)
static std::string basename(std::string const &filename, char const *suffix=nullptr)
static std::string extension(char const *filename)
Return extension (including the '.
static std::string basename(char const *filename, char const *suffix=nullptr)
Return basename.
unsigned long vul_file_size(char const *f)
static bool delete_file_glob(std::string const &file_glob)
Delete 1 or more files using the Local OS preferred globbing.
static bool is_directory(const std::string &filename)
static bool make_directory_path(char const *filename)
Make a writable directory, including any necessary parents.
bool vul_file_exists(char const *f)
bool vul_file_is_directory(char const *f)
static std::string strip_directory(char const *filename)
Strips away directory of the filename.
static bool change_directory(char const *dirname)
change current working directory.
static std::string expand_tilde(char const *filename)
Expand any leading ~ escapes in filename.
A collection of miscellaneous filesystem-type utilities.
static unsigned long size(char const *filename)
Return size of vul_file.
static bool is_directory(char const *filename)
Return true iff filename is a directory.
static std::string strip_directory(std::string const &filename)
static std::string get_cwd()
Return current working directory.
std::string vul_file_extension(char const *f)
static std::string strip_extension(char const *filename)
Strips away extension of the filename.
static std::time_t time_modified(std::string const &filename)
static std::string extension(std::string const &filename)
static unsigned long size(std::string filename)
static bool make_directory(std::string const &filename)
static bool make_directory(char const *filename)
Make a writable directory.
static bool change_directory(std::string const &dirname)
static std::time_t time_modified(char const *filename)
static std::string strip_extension(std::string const &filename)
static bool exists(char const *filename)
Return true iff filename exists. It may be any sort of file.
static bool make_directory_path(std::string const &filename)
static std::string dirname(char const *filename)
Return dirname.
static std::string expand_tilde(std::string const &filename)
static std::string dirname(std::string const &filename)
static bool exists(std::string const &filename)