166 virtual const T
get(void)
const = 0;
182 virtual bool empty(
void)
const = 0;
185 template <
typename T>
216 typedef std::shared_ptr<property_tree>
sptr;
223 static sptr make(
void);
226 virtual sptr subtree(
const fs_path& path)
const = 0;
229 virtual void remove(
const fs_path& path) = 0;
232 virtual bool exists(
const fs_path& path)
const = 0;
235 virtual std::vector<std::string> list(
const fs_path& path)
const = 0;
238 template <
typename T>
242 template <
typename T>
246 template <
typename T>
247 std::shared_ptr<property<T>> pop(
const fs_path& path);
251 virtual std::shared_ptr<void> _pop(
const fs_path& path) = 0;
254 virtual void _create(
const fs_path& path,
255 const std::shared_ptr<void>& prop) = 0;
258 virtual std::shared_ptr<void>& _access(
const fs_path& path)
const = 0;
virtual ~property(void)=0
Definition: property_tree.hpp:186
virtual property< T > & update(void)=0
std::function< T(const T &)> coercer_type
Definition: property_tree.hpp:73
Definition: property_tree.hpp:198
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
virtual bool empty(void) const =0
std::function< void(const T &)> subscriber_type
Definition: property_tree.hpp:71
virtual property< T > & add_coerced_subscriber(const subscriber_type &subscriber)=0
UHD_API fs_path branch_path(void) const
Definition: build_info.hpp:12
virtual property< T > & set_publisher(const publisher_type &publisher)=0
virtual property< T > & set(const T &value)=0
virtual property< T > & set_coerced(const T &value)=0
#define UHD_API
Definition: config.h:70
coerce_mode_t
Definition: property_tree.hpp:218
Definition: property_tree.hpp:213
virtual property< T > & add_desired_subscriber(const subscriber_type &subscriber)=0
UHD_API fs_path operator/(const fs_path &, const fs_path &)
Definition: property_tree.hpp:68
virtual const T get_desired(void) const =0
UHD_API std::string leaf(void) const
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:216
virtual property< T > & set_coercer(const coercer_type &coercer)=0
std::function< T(void)> publisher_type
Definition: property_tree.hpp:72