NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
path_tree::node类 参考

路径树节点 更多...

#include <path_tree.hpp>

类 path_tree::node 继承关系图:
[图例]

Public 类型

using ptr = shared_ptr<node>
 节点共享指针
using weak_ptr = _NEFORCE weak_ptr<node>
 节点弱指针
using children_list = vector<ptr>
 子节点列表

Public 成员函数

 node (path p, node_type type, size_t depth=0)
 构造节点
NEFORCE_NODISCARD const pathget_path () const noexcept
 获取路径
NEFORCE_NODISCARD node_type type () const noexcept
 获取节点类型
NEFORCE_NODISCARD size_t depth () const noexcept
 获取节点深度
NEFORCE_NODISCARD bool is_directory () const noexcept
 是否为目录
NEFORCE_NODISCARD bool is_file () const noexcept
 是否为文件
NEFORCE_NODISCARD bool is_root () const noexcept
 是否为根节点
NEFORCE_NODISCARD bool is_leaf () const noexcept
 是否为叶节点(无子节点)
NEFORCE_NODISCARD ptr parent () const noexcept
 获取父节点
NEFORCE_NODISCARD const children_listchildren () const noexcept
 获取子节点列表
NEFORCE_NODISCARD size_t child_count () const noexcept
 获取子节点数量
NEFORCE_NODISCARD ptr find_child (string_view name) const noexcept
 按名称查找直接子节点
void add_child (ptr child)
 添加子节点
bool remove_child (string_view name) noexcept
 移除指定子节点

额外继承的成员函数

Protected 成员函数 继承自 enable_shared_from< node >
 enable_shared_from () noexcept
 构造函数
shared_ptr< node > shared_from_this ()
 获取指向自身的共享指针

详细描述

路径树节点

表示路径树中的一个节点,包含路径信息及子节点列表。 节点以共享所有权的方式持有子节点,父节点以弱引用持有。

在文件 path_tree.hpp64 行定义.

构造及析构函数说明

◆ node()

path_tree::node::node ( path p,
node_type type,
size_t depth = 0 )
inlineexplicit

构造节点

参数
p节点路径
type节点类型
depth节点深度

在文件 path_tree.hpp88 行定义.

引用了 depth(), move() , 以及 type().

成员函数说明

◆ add_child()

void path_tree::node::add_child ( ptr child)

添加子节点

参数
child子节点共享指针

◆ find_child()

NEFORCE_NODISCARD ptr path_tree::node::find_child ( string_view name) const
noexcept

按名称查找直接子节点

参数
name文件名
返回
找到的子节点,未找到返回nullptr

引用了 name().

◆ remove_child()

bool path_tree::node::remove_child ( string_view name)
noexcept

移除指定子节点

参数
name要移除的子节点名称
返回
是否成功移除

引用了 name().


该类的文档由以下文件生成: