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;
123 typedef boost::shared_ptr<property_tree>
sptr;
126 static sptr make(
void);
129 virtual sptr subtree(
const fs_path &path)
const = 0;
132 virtual void remove(
const fs_path &path) = 0;
135 virtual bool exists(
const fs_path &path)
const = 0;
138 virtual std::vector<std::string> list(
const fs_path &path)
const = 0;
148 virtual void _create(
const fs_path &path,
const boost::shared_ptr<void> &prop) = 0;
151 virtual boost::shared_ptr<void> &_access(
const fs_path &path)
const = 0;
157 #include <uhd/property_tree.ipp>