| 
| static expert_container::sptr  | create_container (const std::string &name) | 
|   | 
| template<typename data_t >  | 
| 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) | 
|   | 
| template<typename data_t >  | 
| 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) | 
|   | 
| template<typename data_t >  | 
| 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) | 
|   | 
| template<typename data_t >  | 
| 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) | 
|   | 
| template<typename data_t >  | 
| 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) | 
|   | 
| template<typename worker_t >  | 
| static void  | add_worker_node (expert_container::sptr container) | 
|   | 
| template<typename worker_t , typename arg1_t >  | 
| static void  | add_worker_node (expert_container::sptr container, arg1_t const &arg1) | 
|   | 
| template<typename worker_t , typename arg1_t , typename arg2_t >  | 
| static void  | add_worker_node (expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2) | 
|   | 
| template<typename worker_t , typename arg1_t , typename arg2_t , typename arg3_t >  | 
| static void  | add_worker_node (expert_container::sptr container, arg1_t const &arg1, arg2_t const &arg2, arg3_t const &arg3) | 
|   | 
| template<typename worker_t , typename arg1_t , typename arg2_t , typename arg3_t , typename arg4_t >  | 
| 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) | 
|   | 
| template<typename worker_t , typename arg1_t , typename arg2_t , typename arg3_t , typename arg4_t , typename arg5_t >  | 
| 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) | 
|   | 
| template<typename worker_t , typename arg1_t , typename arg2_t , typename arg3_t , typename arg4_t , typename arg5_t , typename arg6_t >  | 
| 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) | 
|   | 
| template<typename worker_t , typename arg1_t , typename arg2_t , typename arg3_t , typename arg4_t , typename arg5_t , typename arg6_t , typename arg7_t >  | 
| 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) | 
|   | 
| template<typename worker_t , typename arg1_t , typename arg2_t , typename arg3_t , typename arg4_t , typename arg5_t , typename arg6_t , typename arg7_t , typename arg8_t >  | 
| 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) | 
|   | 
expert_factory is a friend of expert_container and handles all operations to create and change the structure of the an expert container. The expert_factory allocates storage for the nodes in the expert_container and passes allocated objects to the container using private APIs. The expert_container instance owns all data and workernodes and is responsible for releasing their storage on destruction.