CommonLib
Loading...
Searching...
No Matches
file.h File Reference
#include <bit>
#include <filesystem>
#include <fstream>
#include <functional>
#include "hash/hash.h"
#include "hash/hash_provider.h"
#include "hash/xxhash64_provider.h"
#include "ut/expr/string_expr.h"
#include "ut/encoding.h"
#include "file.inl"

Go to the source code of this file.

Namespaces

namespace  hedgedev
namespace  hedgedev::csl
namespace  hedgedev::csl::io
namespace  hedgedev::csl::io::file

Typedefs

template<typename T>
using hedgedev::csl::io::file::hash_progress_callback_t = std::function<bool(T in_hash, uint64_t in_processed_bytes, uint64_t in_total_bytes)>

Functions

template<typename T>
bool hedgedev::csl::io::file::try_compute_hash (hash::hash_provider< T > &in_hash_provider, std::ifstream &in_file, T &out_hash, bool in_from_beginning, hash_progress_callback_t< T > in_callback)
template<hash::hash_provider_t T>
bool hedgedev::csl::io::file::try_compute_hash (std::ifstream &in_file, typename T::type &out_hash, bool in_from_beginning, hash_progress_callback_t< typename T::type > in_callback)
template<typename T>
bool hedgedev::csl::io::file::try_compute_hash (hash::hash_provider< T > &in_hash_provider, const std::filesystem::path &in_path, T &out_hash, hash_progress_callback_t< T > in_callback)
template<hash::hash_provider_t T>
bool hedgedev::csl::io::file::try_compute_hash (const std::filesystem::path &in_path, typename T::type &out_hash, hash_progress_callback_t< typename T::type > in_callback)
template<hash::hash_provider_t T>
bool hedgedev::csl::io::file::compare (std::ifstream &in_left, std::ifstream &in_right, bool in_from_beginning, hash_progress_callback_t< typename T::type > in_left_callback, hash_progress_callback_t< typename T::type > in_right_callback)
template<hash::hash_provider_t T>
bool hedgedev::csl::io::file::compare (const std::filesystem::path &in_left, const std::filesystem::path &in_right, hash_progress_callback_t< typename T::type > in_left_callback, hash_progress_callback_t< typename T::type > in_right_callback)
ut::encoding::encoding_type hedgedev::csl::io::file::get_encoding (const std::filesystem::path &in_path, ut::encoding::encoding_type *out_bom, bool in_native)
template<ut::expr::basic_string T>
T hedgedev::csl::io::file::read_all_text (const std::filesystem::path &in_path)
template<ut::expr::any_string T, ut::encoding::encoding_type target_encoding>
bool hedgedev::csl::io::file::write_all_text (const std::filesystem::path &in_path, const T &in_str, bool in_write_bom)
template<ut::encoding::encoding_type target_encoding, ut::expr::any_string T>
bool hedgedev::csl::io::file::write_all_text (const std::filesystem::path &in_path, const T &in_str, bool in_write_bom)