20 namespace uhd {
namespace experts {
58 template <
typename data_t>
60 const std::string& name,
61 const data_t& init_val,
93 template <
typename data_t>
97 const std::string& name,
98 const data_t& init_val,
109 container->add_data_node(node_ptr, mode);
125 template <
typename data_t>
129 const data_t& init_val,
132 return add_prop_node(container, subtree, path, path, init_val, mode);
153 template <
typename data_t>
157 const std::string& desired_name,
158 const std::string& coerced_name,
159 const data_t& init_val,
162 bool auto_resolve_desired =
164 bool auto_resolve_coerced =
179 container->add_data_node(desired_node_ptr,
181 container->add_data_node(coerced_node_ptr,
199 template <
typename data_t>
203 const data_t& init_val,
206 return add_dual_prop_node(container,
224 template <
typename worker_t>
227 container->add_worker(
new worker_t());
244 template <
typename worker_t,
typename... Args>
248 container->add_worker(
new worker_t(args...));
static property< data_t > & add_prop_node(expert_container::sptr container, property_tree::sptr subtree, const fs_path &path, const std::string &name, const data_t &init_val, const auto_resolve_mode_t mode=AUTO_RESOLVE_OFF)
Definition: expert_factory.hpp:94
std::shared_ptr< expert_container > sptr
Definition: expert_container.hpp:28
Definition: property_tree.hpp:206
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
auto_resolve_mode_t
Definition: expert_container.hpp:18
Definition: property_tree.hpp:226
static property< data_t > & add_dual_prop_node(expert_container::sptr container, property_tree::sptr subtree, const fs_path &path, const data_t &init_val, const auto_resolve_mode_t mode=AUTO_RESOLVE_OFF)
Definition: expert_factory.hpp:200
static void add_worker_node(expert_container::sptr container)
Definition: expert_factory.hpp:225
Definition: expert_container.hpp:21
Definition: expert_factory.hpp:33
Definition: property_tree.hpp:226
Definition: expert_container.hpp:19
virtual property< T > & add_coerced_subscriber(const subscriber_type &subscriber)=0
Definition: build_info.hpp:12
virtual property< T > & set_publisher(const publisher_type &publisher)=0
virtual property< T > & set(const T &value)=0
static void add_data_node(expert_container::sptr container, const std::string &name, const data_t &init_val, const auto_resolve_mode_t mode=AUTO_RESOLVE_OFF)
Definition: expert_factory.hpp:59
Definition: expert_nodes.hpp:128
virtual property< T > & set_coerced(const T &value)=0
Definition: expert_container.hpp:20
#define UHD_API
Definition: config.h:87
Definition: expert_container.hpp:22
virtual property< T > & add_desired_subscriber(const subscriber_type &subscriber)=0
Definition: property_tree.hpp:79
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:224
static void add_worker_node(expert_container::sptr container, Args const &... args)
Definition: expert_factory.hpp:245
static property< data_t > & add_prop_node(expert_container::sptr container, property_tree::sptr subtree, const fs_path &path, const data_t &init_val, const auto_resolve_mode_t mode=AUTO_RESOLVE_OFF)
Definition: expert_factory.hpp:126
static property< data_t > & add_dual_prop_node(expert_container::sptr container, property_tree::sptr subtree, const fs_path &path, const std::string &desired_name, const std::string &coerced_name, const data_t &init_val, const auto_resolve_mode_t mode=AUTO_RESOLVE_OFF)
Definition: expert_factory.hpp:154