1#ifndef NEFORCE_CORE_FILE_TEMP_FILE_HPP__
2#define NEFORCE_CORE_FILE_TEMP_FILE_HPP__
13NEFORCE_BEGIN_NAMESPACE__
42 delete_policy delete_policy_ = delete_policy::AUTO_DELETE;
56 explicit temp_file(
const string& prefix =
"tmp",
const string& suffix =
".tmp",
103 NEFORCE_NODISCARD _NEFORCE
file&
file() noexcept {
return file_; }
109 NEFORCE_NODISCARD
const _NEFORCE
file&
file() const noexcept {
return file_; }
180NEFORCE_END_NAMESPACE__
NEFORCE_NODISCARD const _NEFORCE file & file() const noexcept
获取内部常量文件对象
void set_delete_policy(const delete_policy policy) noexcept
设置删除策略
static void register_for_cleanup(const path &temp_path)
注册一个路径以供程序退出时清理
NEFORCE_NODISCARD _NEFORCE file & file() noexcept
获取内部文件对象
void keep() noexcept
设置删除策略为 KEEP_ON_EXIT
static void cleanup_all_temp_files()
清理所有已注册的临时文件
void cleanup() noexcept
手动清理临时文件
static NEFORCE_NODISCARD temp_file create_temp_file(const string &prefix="tmp", const string &suffix=".tmp", file_creation mode=file_creation::CREATE_FORCE)
创建临时文件(工厂函数)
temp_file(temp_file &&other) noexcept
移动构造函数
temp_file(const path &existing_path, delete_policy policy=delete_policy::AUTO_DELETE)
构造函数:接管已有的文件作为临时文件
temp_file(const string &prefix="tmp", const string &suffix=".tmp", file_creation mode=file_creation::CREATE_FORCE, delete_policy policy=delete_policy::AUTO_DELETE)
构造函数:创建新的临时文件
temp_file & operator=(temp_file &&other) noexcept
移动赋值运算符
NEFORCE_NODISCARD delete_policy policy() const noexcept
获取当前删除策略
@ CREATE_FORCE
强制创建新文件(覆盖已存在)