|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
临时文件管理类 更多...
#include <temp_file.hpp>
Public 类型 | |
| enum class | delete_policy { AUTO_DELETE , MANUAL_DELETE , KEEP_ON_EXIT } |
| 临时文件删除策略 更多... | |
Public 成员函数 | |
| 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 (const path &existing_path, delete_policy policy=delete_policy::AUTO_DELETE) | |
| 构造函数:接管已有的文件作为临时文件 | |
| ~temp_file () | |
| 析构函数 | |
| temp_file (temp_file &&other) noexcept | |
| 移动构造函数 | |
| temp_file & | operator= (temp_file &&other) noexcept |
| 移动赋值运算符 | |
| NEFORCE_NODISCARD _NEFORCE file & | file () noexcept |
| 获取内部文件对象 | |
| NEFORCE_NODISCARD const _NEFORCE file & | file () const noexcept |
| 获取内部常量文件对象 | |
| void | keep () noexcept |
| 设置删除策略为 KEEP_ON_EXIT | |
| void | set_delete_policy (const delete_policy policy) noexcept |
| 设置删除策略 | |
| NEFORCE_NODISCARD delete_policy | policy () const noexcept |
| 获取当前删除策略 | |
| void | cleanup () noexcept |
| 手动清理临时文件 | |
| void | release () |
| 释放临时文件的所有权 | |
静态 Public 成员函数 | |
| static NEFORCE_NODISCARD temp_file | create_temp_file (const string &prefix="tmp", const string &suffix=".tmp", file_creation mode=file_creation::CREATE_FORCE) |
| 创建临时文件(工厂函数) | |
| static void | cleanup_all_temp_files () |
| 清理所有已注册的临时文件 | |
| static void | register_for_cleanup (const path &temp_path) |
| 注册一个路径以供程序退出时清理 | |
|
strong |
|
explicit |
构造函数:创建新的临时文件
| prefix | 文件名前缀(默认 "tmp") |
| suffix | 文件名后缀(默认 ".tmp") |
| mode | 文件创建模式(默认 CREATE_FORCE) |
| policy | 删除策略(默认 AUTO_DELETE) |
| system_exception | 文件创建失败时抛出 |
在系统临时目录中生成一个唯一文件名,并打开文件。 生成规则:{prefix}_{纳秒时间}_{进程ID}_{线程ID}_{随机数}{suffix}
引用了 AUTO_DELETE, CREATE_FORCE , 以及 policy().
被这些函数引用 create_temp_file(), operator=(), temp_file() , 以及 ~temp_file().
|
explicit |
构造函数:接管已有的文件作为临时文件
| existing_path | 已有文件的路径 |
| policy | 删除策略(默认 AUTO_DELETE) |
| system_exception | 文件打开失败时抛出 |
将指定的现有文件作为临时文件管理,不会生成新文件。
引用了 AUTO_DELETE , 以及 policy().
| temp_file::~temp_file | ( | ) |
析构函数
根据删除策略决定是否删除临时文件:
引用了 temp_file().
|
noexcept |
|
noexcept |
手动清理临时文件
根据当前删除策略执行清理:
|
static |
|
static |
创建临时文件(工厂函数)
| prefix | 文件名前缀(默认 "tmp") |
| suffix | 文件名后缀(默认 ".tmp") |
| mode | 文件创建模式(默认 CREATE_FORCE) |
等价于调用带 AUTO_DELETE 策略的构造函数。
引用了 create_temp_file() , 以及 temp_file().
被这些函数引用 create_temp_file().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
获取当前删除策略
在文件 temp_file.hpp 第 128 行定义.
被这些函数引用 set_delete_policy(), temp_file() , 以及 temp_file().
|
static |
注册一个路径以供程序退出时清理
| temp_path | 临时文件路径 |
将路径添加到全局注册表,在 cleanup_all_temp_files 中被清理。 通常由 temp_file 构造函数自动调用。
被这些函数引用 register_for_cleanup().
| void temp_file::release | ( | ) |
|
inlinenoexcept |