16 #include <system_error>
21 namespace seqan3::detail
37 class safe_filesystem_entry
43 safe_filesystem_entry() =
delete;
44 safe_filesystem_entry(safe_filesystem_entry
const &) =
delete;
45 safe_filesystem_entry(safe_filesystem_entry &&) =
default;
46 safe_filesystem_entry & operator=(safe_filesystem_entry
const &) =
delete;
47 safe_filesystem_entry & operator=(safe_filesystem_entry &&) =
default;
52 safe_filesystem_entry(std::filesystem::path p) : entry(
std::
move(p))
56 ~safe_filesystem_entry()
59 std::filesystem::remove_all(entry, ec);
61 assert(!
static_cast<bool>(ec));
75 return std::filesystem::remove(entry);
79 bool remove_no_throw() const noexcept
82 return std::filesystem::remove(entry, ec);
94 std::uintmax_t remove_all()
96 return std::filesystem::remove_all(entry);
102 std::filesystem::path entry;
This header includes C++17 filesystem support and imports it into namespace std::filesystem (independ...
auto const move
A view that turns lvalue-references into rvalue-references.
Definition: move.hpp:74
SeqAn specific customisations in the standard namespace.
Definition: affine_cell_proxy.hpp:438