file#
Namespaces#
Classes#
FileSystemItem#
-
class FileSystemItem#
Item on the filesystem.
Subclassed by ioh::common::file::UniqueFolder
Public Functions
-
inline FileSystemItem()#
-
inline FileSystemItem(fs::path root, const std::string &name)#
Construct a new File System Item object.
- Parameters:
root – the directory containing the item
name – name of the item
-
inline void path(const fs::path &path)#
Set the path of the item.
-
inline fs::path path() const#
Accessor for
path_
-
inline fs::path root() const#
Accessor for
root_
-
inline std::string name() const#
Accessor for
name_
-
inline void remove() const#
Remove the item on the filesystem.
-
inline fs::path operator/(const std::string &p) const#
Join the path.
-
inline fs::path operator/(const fs::path &p) const#
Join the path.
-
inline FileSystemItem()#
UniqueFolder#
-
class UniqueFolder : public ioh::common::file::FileSystemItem#
Creates a new folder with a unique name.
Public Functions
-
inline explicit UniqueFolder(fs::path root, const std::string &name)#
Construct a new Unique Folder object.
- Parameters:
root – the directory containing the item
name – name of the folder
-
inline explicit UniqueFolder(const std::string &name)#
Construct a new Unique Folder object.
-
inline explicit UniqueFolder()#
Construct a new Unique Folder object.
-
inline explicit UniqueFolder(fs::path root, const std::string &name)#
Functions#
as_numeric_vector#
-
template<typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value, T>::type>
inline std::vector<T> ioh::common::file::as_numeric_vector(const fs::path &path)# Extracts all numbers from a file and converts them to a given numeric type T.
- Template Parameters:
T – the numeric type
std::enable_if<std::is_arithmetic<T>::value, T>::type –
- Parameters:
path – The path of the
- Returns:
std::vector<T> all the numbers in the file given by path
as_string#
-
inline std::string ioh::common::file::as_string(const fs::path &path)#
Get the file contents as string object.
- Parameters:
path – the path of the file
- Returns:
std::string the contents of the file
as_text_vector#
-
template<typename T = std::string, typename std::enable_if<std::is_constructible<T, std::string>::value, T>::type* = nullptr>
std::vector<T> ioh::common::file::as_text_vector(const fs::path &path)# Get the file contents as a string vector per line example usage:
struct Person{ std::string name; Person(const std::string& name): name(name) {} }; std::vector<Person> persons = as_text_vector<Person>(file_with_names);
- Template Parameters:
T – the type of the output vector, should be instantiatable from a std::string
- Parameters:
path – the path of the file
- Returns:
std::vector<T> the contents of the file
merge_dat_file#
-
inline void ioh::common::file::merge_dat_file(const std::string &tmp_dat_file_path, const std::string &tar_dat_file_path)#
Merge the tmp_dat_file_path to tar_dat_file_path.
- Parameters:
tmp_dat_file_path –
tar_dat_file_path –