96 virtual property<T>& set_coercer(
const coercer_type& coercer) = 0;
108 virtual property<T>& set_publisher(
const publisher_type& publisher) = 0;
119 virtual property<T>& add_desired_subscriber(
const subscriber_type& subscriber) = 0;
130 virtual property<T>& add_coerced_subscriber(
const subscriber_type& subscriber) = 0;
165 virtual property<T>& set_coerced(
const T& value) = 0;
175 virtual const T
get(void)
const = 0;
183 virtual const T get_desired(
void)
const = 0;
191 virtual bool empty(
void)
const = 0;
194 template <
typename T>
208 UHD_API fs_path(
const std::string&);
209 UHD_API std::string leaf(
void)
const;
210 UHD_API fs_path branch_path(
void)
const;
222 typedef std::shared_ptr<property_tree>
sptr;
229 static sptr make(
void);
232 virtual sptr subtree(
const fs_path& path)
const = 0;
235 virtual void remove(
const fs_path& path) = 0;
238 virtual bool exists(
const fs_path& path)
const = 0;
241 virtual std::vector<std::string> list(
const fs_path& path)
const = 0;
244 template <
typename T>
248 template <
typename T>
252 template <
typename T>
253 std::shared_ptr<property<T>> pop(
const fs_path& path);
257 virtual std::shared_ptr<property_iface> _pop(
const fs_path& path) = 0;
260 virtual void _create(
const fs_path& path,
261 const std::shared_ptr<property_iface>& prop) = 0;
264 virtual std::shared_ptr<property_iface>& _access(
const fs_path& path)
const = 0;
virtual ~property(void)=0
Definition: property_tree.hpp:195
std::function< T(const T &)> coercer_type
Definition: property_tree.hpp:82
Definition: property_tree.hpp:204
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
#define UHD_API_HEADER
Definition: config.h:88
std::function< void(const T &)> subscriber_type
Definition: property_tree.hpp:80
Definition: build_info.hpp:12
#define UHD_API
Definition: config.h:87
coerce_mode_t
Definition: property_tree.hpp:224
Definition: property_tree.hpp:219
UHD_API fs_path operator/(const fs_path &, const fs_path &)
Definition: property_tree.hpp:77
Definition: property_tree.hpp:24
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:222
std::function< T(void)> publisher_type
Definition: property_tree.hpp:81