天天看點

屬性樹提供的操作函數

裝置的樹狀結構為裝置的管理提供了一個類似檔案系統的方式。裝置的每一個具體的子裝置映射為一個葉子節點,而每一個葉子節點可進行的操作在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;//分支

};

繼續閱讀