97 virtual property<T>& set_coercer(
const coercer_type& coercer) = 0;
109 virtual property<T>& set_publisher(
const publisher_type& publisher) = 0;
120 virtual property<T>& add_desired_subscriber(
const subscriber_type& subscriber) = 0;
131 virtual property<T>& add_coerced_subscriber(
const subscriber_type& subscriber) = 0;
166 virtual property<T>& set_coerced(
const T& value) = 0;
176 virtual const T
get(void)
const = 0;
184 virtual const T get_desired(
void)
const = 0;
192 virtual bool empty(
void)
const = 0;
195 template <
typename T>
209 UHD_API fs_path(
const std::string&);
210 UHD_API std::string leaf(
void)
const;
211 UHD_API fs_path branch_path(
void)
const;
223 typedef std::shared_ptr<property_tree>
sptr;
230 static sptr make(
void);
233 virtual sptr subtree(
const fs_path& path)
const = 0;
236 virtual void remove(
const fs_path& path) = 0;
239 virtual bool exists(
const fs_path& path)
const = 0;
242 virtual std::vector<std::string> list(
const fs_path& path)
const = 0;
245 template <
typename T>
249 template <
typename T>
253 template <
typename T>
254 std::shared_ptr<property<T>> pop(
const fs_path& path);
258 virtual std::shared_ptr<property_iface> _pop(
const fs_path& path) = 0;
261 virtual void _create(
262 const fs_path& path,
const std::shared_ptr<property_iface>& prop) = 0;
265 virtual std::shared_ptr<property_iface>& _access(
const fs_path& path)
const = 0;
virtual ~property(void)=0
Definition: property_tree.hpp:196
std::function< T(const T &)> coercer_type
Definition: property_tree.hpp:83
Definition: property_tree.hpp:205
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:81
Definition: build_info.hpp:12
#define UHD_API
Definition: config.h:87
coerce_mode_t
Definition: property_tree.hpp:225
Definition: property_tree.hpp:220
UHD_API fs_path operator/(const fs_path &, const fs_path &)
Definition: property_tree.hpp:78
Definition: property_tree.hpp:24
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:223
std::function< T(void)> publisher_type
Definition: property_tree.hpp:82