18 #ifndef INCLUDED_UHD_PROPERTY_TREE_HPP
19 #define INCLUDED_UHD_PROPERTY_TREE_HPP
22 #include <boost/utility.hpp>
23 #include <boost/shared_ptr.hpp>
24 #include <boost/function.hpp>
33 template <
typename T>
class property : boost::noncopyable{
92 virtual T
get(void)
const = 0;
99 virtual bool empty(
void)
const = 0;
102 template <
typename T>
130 typedef boost::shared_ptr<property_tree>
sptr;
135 static sptr make(
void);
138 virtual sptr subtree(
const fs_path &path)
const = 0;
141 virtual void remove(
const fs_path &path) = 0;
144 virtual bool exists(
const fs_path &path)
const = 0;
147 virtual std::vector<std::string> list(
const fs_path &path)
const = 0;
157 virtual void _create(
const fs_path &path,
const boost::shared_ptr<void> &prop) = 0;
160 virtual boost::shared_ptr<void> &_access(
const fs_path &path)
const = 0;