|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
文件路径类 更多...
#include <path.hpp>
类 | |
| class | split_iterator |
| 路径分割迭代器 更多... | |
Public 成员函数 | |
| path ()=default | |
| 默认构造函数,创建空路径 | |
| path (string path) noexcept | |
| 从字符串构造路径 | |
| path (const string_view path) | |
| 从字符串视图构造路径 | |
| path (const char *path) | |
| 从C风格字符串构造路径 | |
| NEFORCE_NODISCARD const string & | str () const noexcept |
| 获取路径字符串 | |
| NEFORCE_NODISCARD string_view | view () const noexcept |
| 获取路径字符串视图 | |
| NEFORCE_NODISCARD const char * | data () const noexcept |
| 获取C风格字符串 | |
| NEFORCE_NODISCARD bool | empty () const noexcept |
| 检查路径是否为空 | |
| NEFORCE_NODISCARD split_iterator | begin () const |
| 获取起始路径组件迭代器 | |
| NEFORCE_NODISCARD split_iterator | end () const |
| 获取结束路径组件迭代器 | |
| NEFORCE_NODISCARD path | parent_path () const |
| 获取父路径 | |
| NEFORCE_NODISCARD string_view | filename () const noexcept |
| 获取文件名 | |
| NEFORCE_NODISCARD string_view | stem () const noexcept |
| 获取文件主名(不含扩展名) | |
| NEFORCE_NODISCARD string_view | extension () const noexcept |
| 获取文件扩展名 | |
| NEFORCE_NODISCARD path | lexically_normal () const |
| 规范化路径 | |
| NEFORCE_NODISCARD path | absolute (const path &base=current_path()) const |
| 获取绝对路径 | |
| NEFORCE_NODISCARD path | relative (const path &base) const |
| 获取相对于另一路径的路径 | |
| path & | operator/= (const path &other) |
| 路径连接赋值操作符 | |
| path & | operator/= (string_view other) |
| 路径连接赋值操作符(字符串视图版本) | |
| path | operator/ (const path &other) const |
| 路径连接操作符 | |
| path | operator/ (string_view pth) const |
| 路径连接操作符(字符串视图版本) | |
| NEFORCE_NODISCARD path_tree | to_tree () const |
| 扫描此路径(必须为目录)并返回路径树 | |
| NEFORCE_NODISCARD vector< path > | children (bool include_hidden=false) const |
| 获取直接子路径列表(非递归) | |
| NEFORCE_NODISCARD vector< path > | child_files (bool include_hidden=false) const |
| 获取直接子文件路径列表 | |
| NEFORCE_NODISCARD vector< path > | child_dirs (bool include_hidden=false) const |
| 获取直接子目录路径列表 | |
| NEFORCE_NODISCARD bool | exists () const noexcept |
| 检查路径是否存在 | |
| NEFORCE_NODISCARD bool | is_directory () const noexcept |
| 检查路径是否为目录 | |
| NEFORCE_NODISCARD bool | is_file () const noexcept |
| 检查路径是否为普通文件 | |
| operator string_view () const noexcept | |
| 转换为字符串视图 | |
| NEFORCE_NODISCARD bool | operator== (const path &rhs) const |
| 相等比较 | |
| NEFORCE_NODISCARD bool | operator< (const path &rhs) const |
| 小于比较 | |
| NEFORCE_NODISCARD size_t | to_hash () const |
| 计算哈希值 | |
| NEFORCE_NODISCARD string | to_string () const |
| 转换为字符串 | |
| void | swap (path &other) noexcept |
| 交换两个路径 | |
| Public 成员函数 继承自 icomparable< path > | |
| NEFORCE_NODISCARD constexpr bool | operator== (const path &rhs) const noexcept(noexcept(derived()==rhs)) |
| 相等比较运算符 | |
| NEFORCE_NODISCARD constexpr bool | operator!= (const path &rhs) const noexcept(noexcept(!(*this==rhs))) |
| 不等比较运算符 | |
| NEFORCE_NODISCARD constexpr bool | operator< (const path &rhs) const noexcept(noexcept(derived()< rhs)) |
| 小于比较运算符 | |
| NEFORCE_NODISCARD constexpr bool | operator> (const path &rhs) const noexcept(noexcept(rhs< derived())) |
| 大于比较运算符 | |
| NEFORCE_NODISCARD constexpr bool | operator<= (const path &rhs) const noexcept(noexcept(!(derived() > rhs))) |
| 小于等于比较运算符 | |
| NEFORCE_NODISCARD constexpr bool | operator>= (const path &rhs) const noexcept(noexcept(!(derived()< rhs))) |
| 大于等于比较运算符 | |
| Public 成员函数 继承自 ihashable< path > | |
| NEFORCE_NODISCARD constexpr size_t | to_hash () const noexcept(noexcept(derived().to_hash())) |
| 获取对象的哈希值 | |
| Public 成员函数 继承自 istringify< path > | |
| NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string | to_string () const |
| 转换为字符串 | |
静态 Public 成员函数 | |
| static path | current_path () |
| 获取当前工作目录 | |
| static path | temp_directory_path () |
| 获取临时目录路径 | |
| static NEFORCE_NODISCARD bool | exists (const string &path) noexcept |
| 检查路径是否存在 | |
| static NEFORCE_NODISCARD bool | is_directory (const string &path) noexcept |
| 检查路径是否为目录 | |
| static NEFORCE_NODISCARD bool | is_file (const string &path) noexcept |
| 检查路径是否为文件 | |
| static NEFORCE_NODISCARD string_view | extension (string_view path) noexcept |
| 获取文件扩展名 | |
静态 Public 属性 | |
| static constexpr size_t | buffer_size = 8192 |
| 文件操作缓冲区大小 | |
| static constexpr auto | spliter |
| 路径分隔符集合 | |
文件路径类
提供跨平台的文件路径操作,包括:
|
inlineexplicitnoexcept |
|
inlineexplicit |
|
inlineexplicit |
| NEFORCE_NODISCARD path path::absolute | ( | const path & | base = current_path() | ) | const |
获取绝对路径
| base | 基础路径 |
将相对路径转换为绝对路径。
引用了 absolute(), current_path() , 以及 path().
被这些函数引用 absolute().
|
inline |
获取直接子文件路径列表
| include_hidden | 是否包含隐藏文件 |
引用了 child_files() , 以及 path().
被这些函数引用 child_files().
|
static |
|
inlinenoexcept |
|
inline |
|
noexcept |
|
staticnoexcept |
|
noexcept |
|
staticnoexcept |
|
noexcept |
获取文件名
返回路径的最后一部分。
|
noexcept |
|
staticnoexcept |
|
noexcept |
|
staticnoexcept |
| NEFORCE_NODISCARD path path::lexically_normal | ( | ) | const |
规范化路径
解析路径中的"."和"..",移除多余的分隔符。
引用了 lexically_normal() , 以及 path().
被这些函数引用 lexically_normal() , 以及 to_string().
| path path::operator/ | ( | string_view | pth | ) | const |
| path & path::operator/= | ( | string_view | other | ) |
| NEFORCE_NODISCARD bool path::operator< | ( | const path & | rhs | ) | const |
| NEFORCE_NODISCARD bool path::operator== | ( | const path & | rhs | ) | const |
获取相对于另一路径的路径
| base | 基础路径 |
计算当前路径相对于base路径的相对路径。
引用了 path() , 以及 relative().
被这些函数引用 relative().
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
| NEFORCE_NODISCARD size_t path::to_hash | ( | ) | const |
计算哈希值
|
inline |
| NEFORCE_NODISCARD path_tree path::to_tree | ( | ) | const |
|
inlinenoexcept |
|
staticconstexpr |
|
staticconstexpr |
路径分隔符集合
用于路径分割操作,包含所有可能的路径分隔符。