属性树提供的操作函数

来源:互联网 发布:电脑一维码识别软件 编辑:程序博客网 时间:2024/05/21 12:47

设备的树状结构为设备的管理提供了一个类似文件系统的方式。设备的每一个具体的子设备映射为一个叶子节点,而每一个叶子节点可进行的操作在property_tree API(property_tree.hpp)中给出。

可以进行的操作有:

1、static sptr make(void);  创建新的、空的属性树

2、sptr subtree(const fs_path &path) const = 0;以当前节点为根节点,创建子树

3、void remove(const fs_path &path) = 0;删除属性或递归删除

4、bool exists(const fs_path &path) const = 0;判断属性树中是否存在某个节点

5、std::vector<std::string> list(const fs_path &path) const = 0;得到给定路径的所有节点

6、template <typename T> property<T> &create(const fs_path &path);在属性树中创建新的入口

7、template <typename T> property<T> &access(const fs_path &path);进入属性树中的某条路径

注:上述函数中的fs_path类型为包含分支和叶子的结构体,其定义如下:

struct fs_path : std::string{
    UHD_API fs_path(void);
    UHD_API fs_path(const char *);
    UHD_API fs_path(const std::string &);
    UHD_API std::string leaf(void) const;//叶子
    UHD_API fs_path branch_path(void) const;//分支
};

0 0