18namespace uhd {
namespace experts {
56 template <
typename data_t>
58 const std::string& name,
59 const data_t& init_val,
91 template <
typename data_t>
95 const std::string& name,
96 const data_t& init_val,
100 subtree->create<data_t>(path, property_tree::AUTO_COERCE);
104 prop.add_coerced_subscriber(
107 container->add_data_node(
node_ptr, mode);
123 template <
typename data_t>
151 template <
typename data_t>
166 subtree->create<
data_t>(
path, property_tree::MANUAL_COERCE);
173 prop.add_desired_subscriber(std::bind(
197 template <
typename data_t>
204 return add_dual_prop_node(container,
222 template <
typename worker_t>
225 container->add_worker(
new worker_t());
242 template <
typename worker_t,
typename arg1_t>
249 template <
typename worker_t,
typename arg1_t,
typename arg2_t>
256 template <
typename worker_t,
typename arg1_t,
typename arg2_t,
typename arg3_t>
352 container->add_worker(
Definition expert_nodes.hpp:129
void set(const data_t &value)
Definition expert_nodes.hpp:192
std::shared_ptr< expert_container > sptr
Definition expert_container.hpp:28
Definition expert_factory.hpp:32
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:57
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1)
Definition expert_factory.hpp:243
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:152
static expert_container::sptr create_container(const std::string &name)
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2, arg3_t const &arg3, arg4_t const &arg4, arg5_t const &arg5, arg6_t const &arg6, arg7_t const &arg7, arg7_t const &arg8)
Definition expert_factory.hpp:342
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2, arg3_t const &arg3)
Definition expert_factory.hpp:257
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:92
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2, arg3_t const &arg3, arg4_t const &arg4)
Definition expert_factory.hpp:270
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2, arg3_t const &arg3, arg4_t const &arg4, arg5_t const &arg5, arg6_t const &arg6)
Definition expert_factory.hpp:302
static void add_worker_node(expert_container::sptr container)
Definition expert_factory.hpp:223
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2, arg3_t const &arg3, arg4_t const &arg4, arg5_t const &arg5, arg6_t const &arg6, arg7_t const &arg7)
Definition expert_factory.hpp:321
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2)
Definition expert_factory.hpp:250
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:124
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:198
static void add_worker_node(expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2, arg3_t const &arg3, arg4_t const &arg4, arg5_t const &arg5)
Definition expert_factory.hpp:285
std::shared_ptr< property_tree > sptr
Definition property_tree.hpp:223
Definition property_tree.hpp:79
#define UHD_API
Definition config.h:87
auto_resolve_mode_t
Definition expert_container.hpp:18
@ AUTO_RESOLVE_ON_WRITE
Definition expert_container.hpp:21
@ AUTO_RESOLVE_ON_READ
Definition expert_container.hpp:20
@ AUTO_RESOLVE_OFF
Definition expert_container.hpp:19
@ AUTO_RESOLVE_ON_READ_WRITE
Definition expert_container.hpp:22
Definition build_info.hpp:12
boost::noncopyable noncopyable
Definition noncopyable.hpp:45
Definition property_tree.hpp:206