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>
   117     UHD_API fs_path(
const std::string &);
   118     UHD_API std::string leaf(
void) 
const;
   119     UHD_API fs_path branch_path(
void) 
const;
   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;
 boost::function< void(const T &)> subscriber_type
Definition: property_tree.hpp:35
 
virtual ~property(void)=0
Definition: property_tree.hpp:103
 
virtual property< T > & update(void)=0
 
Definition: property_tree.hpp:114
 
boost::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:130
 
virtual property< T > & publish(const publisher_type &publisher)=0
 
Definition: convert.hpp:28
 
boost::function< T(const T &)> coercer_type
Definition: property_tree.hpp:37
 
virtual bool empty(void) const =0
 
virtual property< T > & coerce(const coercer_type &coercer)=0
 
boost::function< T(void)> publisher_type
Definition: property_tree.hpp:36
 
#define UHD_API
Definition: config.h:66
 
virtual property< T > & subscribe(const subscriber_type &subscriber)=0
 
Definition: property_tree.hpp:128
 
UHD_API fs_path operator/(const fs_path &, const fs_path &)
 
Definition: property_tree.hpp:33