Implementation of file system functions.
Definition in file fs.cpp.
#include "genesis/utils/core/fs.hpp"#include <cassert>#include <cctype>#include <cerrno>#include <dirent.h>#include <fcntl.h>#include <fstream>#include <functional>#include <limits.h>#include <regex>#include <set>#include <sstream>#include <stdexcept>#include <stdlib.h>#include <streambuf>#include <utility>#include <unistd.h>#include <sys/stat.h>#include "genesis/utils/core/algorithm.hpp"#include "genesis/utils/io/gzip.hpp"#include "genesis/utils/io/gzip_stream.hpp"#include "genesis/utils/io/input_source.hpp"#include "genesis/utils/io/input_stream.hpp"#include "genesis/utils/io/output_stream.hpp"#include "genesis/utils/io/scanner.hpp"#include "genesis/utils/text/string.hpp"Go to the source code of this file.
Namespaces | |
| genesis | |
| Container namespace for all symbols of genesis in order to keep them separate when used as a library. | |
| genesis::utils | |
Functions | |
| static void | build_path_base_swap_ (std::string &path, const std::string &newbase) |
| static std::string | chdir_getcwd_ (std::string const &dir) |
| std::string | current_path () |
| Return the current (working) directory, simiar to getcwd(). More... | |
| static std::string | current_path_getcwd_ () |
| static std::string | current_path_unix_ () |
| void | dir_create (std::string const &path, bool with_parents=true) |
| Create a directory. More... | |
| bool | dir_exists (std::string const &dir) |
| Return true iff the directory exists. More... | |
| std::vector< std::string > | dir_list_contents (std::string const &dir, bool full_path=false, std::string const ®ex="") |
| Get a list of files and directories in a directory. More... | |
| static std::vector< std::string > | dir_list_contents_ (std::string const &dir, bool full_path, std::string const ®ex, std::function< bool(std::string const &)> condition) |
| std::vector< std::string > | dir_list_directories (std::string const &dir, bool full_path=false, std::string const ®ex="") |
| Get a list of directories in a directory. More... | |
| std::vector< std::string > | dir_list_files (std::string const &dir, bool full_path=false, std::string const ®ex="") |
| Get a list of files in a directory. More... | |
| std::string | dir_normalize_path (std::string const &path) |
| Normalize a dir name, i.e., make sure that the given path ends with exaclty one slash. More... | |
| void | file_append (std::string const &content, std::string const &filename, bool create_dirs=true) |
| Append the content of a string to a file. More... | |
| std::string | file_basename (std::string const &filename) |
| Remove directory name from file name if present. More... | |
| std::string | file_basename (std::string const &filename, std::vector< std::string > const &remove_extensions) |
| Remove the directory name from a file name if present, and remove a list of given extensions. More... | |
| bool | file_exists (std::string const &filename) |
| Return true iff the file exists (and is in fact a file, and not, e.g., a directory). More... | |
| std::string | file_extension (std::string const &filename) |
| Return the extension name of a file. More... | |
| std::string | file_filename (std::string const &filename) |
| Remove extension if present. More... | |
| std::unordered_map< std::string, std::string > | file_info (std::string const &filename) |
| Return information about a file. More... | |
| bool | file_is_readable (std::string const &filename) |
| Return whether a file is readable. More... | |
| bool | file_is_readable (std::string const &filename, std::string &err_str) |
| Return whether a file is readable, and potentially store the error message. More... | |
| std::string | file_path (std::string const &filename) |
| Return the path leading to a file. More... | |
| std::string | file_read (std::string const &filename, bool detect_compression=true) |
| Return the contents of a file as a string. More... | |
| std::vector< std::string > | file_read_lines (std::string const &filename, bool detect_compression=true) |
| Return the contents of a file as a vector of strings, one entry for each line. More... | |
| size_t | file_size (std::string const &filename) |
| Return the size of a file. More... | |
| void | file_write (std::string const &content, std::string const &filename, bool create_dirs=true) |
| Write the content of a string to a file. More... | |
| bool | is_dir (std::string const &path) |
| Return true iff the provided path is a directory. More... | |
| bool | is_file (std::string const &path) |
| Return true iff the provided path is a (readable) file. More... | |
| bool | is_valid_filename (std::string const &filename) |
| Check whether a file name is valid. More... | |
| bool | path_exists (std::string const &path) |
| Return whether a path exists, i.e., is a file or directory. More... | |
| static bool | readlink_internal_ (const std::string &path, std::string &buffer, ssize_t length) |
| std::string | real_path (std::string const &path, bool resolve_link=true) |
| Return the real path of a file or directory, similar to realpath(). More... | |
| static std::string | real_path_realpath_ (std::string const &path, bool resolve_link) |
| static std::string | real_path_unix_ (std::string const &path, bool resolve_link) |
| static std::string | realpath_file_ (const std::string &path) |
| static void | relative_dir_base_split_ (std::string const &path, std::string &dir, std::string &base) |
| std::string | sanitize_filename (std::string const &filename) |
| Remove or replace all invalid parts of a filename. More... | |
| static bool | symlink_resolve_ (const std::string &start, std::string &end) |