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{
90 virtual T
get(void)
const = 0;
97 virtual bool empty(
void)
const = 0;
122 typedef boost::shared_ptr<property_tree>
sptr;
125 static sptr make(
void);
128 virtual sptr subtree(
const fs_path &path)
const = 0;
131 virtual void remove(
const fs_path &path) = 0;
134 virtual bool exists(
const fs_path &path)
const = 0;
137 virtual std::vector<std::string> list(
const fs_path &path)
const = 0;
147 virtual void _create(
const fs_path &path,
const boost::shared_ptr<void> &prop) = 0;
150 virtual boost::shared_ptr<void> &_access(
const fs_path &path)
const = 0;
156 #include <uhd/property_tree.ipp>