Sharg 1.1.2-rc.1
The argument parser for bio-c++ tools.
Loading...
Searching...
No Matches
safe_filesystem_entry.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024, Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024, Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
12#include <cassert>
13#include <filesystem>
14#include <system_error>
15
16#include <sharg/platform.hpp>
17
18namespace sharg::detail
19{
20
100
101} // namespace sharg::detail
A safe guard to manage a filesystem entry, e.g. a file or a directory.
Definition safe_filesystem_entry.hpp:35
safe_filesystem_entry(safe_filesystem_entry &&)=default
Defaulted.
std::filesystem::path entry
The managed resource.
Definition safe_filesystem_entry.hpp:98
safe_filesystem_entry(safe_filesystem_entry const &)=delete
Deleted.
bool remove()
Removes a file or empty directory.
Definition safe_filesystem_entry.hpp:70
safe_filesystem_entry(std::filesystem::path p)
Constructs the safe guard from a std::filesystem::path.
Definition safe_filesystem_entry.hpp:49
safe_filesystem_entry()=delete
Deleted.
safe_filesystem_entry & operator=(safe_filesystem_entry const &)=delete
Deleted.
~safe_filesystem_entry()
Calls std::filesystem::remove_all on the wrapped entry.
Definition safe_filesystem_entry.hpp:53
bool remove_no_throw() const noexcept
Removes a file or empty directory.
Definition safe_filesystem_entry.hpp:76
safe_filesystem_entry & operator=(safe_filesystem_entry &&)=default
Defaulted.
std::uintmax_t remove_all()
Removes a file or directory and all its contents, recursively.
Definition safe_filesystem_entry.hpp:91
Provides platform and dependency checks.
T remove_all(T... args)
Hide me