diff --git a/gtsam/inference/BayesNet.h b/gtsam/inference/BayesNet.h index d562f3ae6..4704d2873 100644 --- a/gtsam/inference/BayesNet.h +++ b/gtsam/inference/BayesNet.h @@ -50,6 +50,12 @@ class BayesNet : public FactorGraph { BayesNet(ITERATOR firstConditional, ITERATOR lastConditional) : Base(firstConditional, lastConditional) {} + /** + * Constructor that takes an initializer list of shared pointers. + * BayesNet bn = {make_shared(), ...}; + */ + BayesNet(std::initializer_list conditionals): Base(conditionals) {} + /// @} public: diff --git a/gtsam/linear/GaussianBayesNet.h b/gtsam/linear/GaussianBayesNet.h index a63cfa6c7..62366b602 100644 --- a/gtsam/linear/GaussianBayesNet.h +++ b/gtsam/linear/GaussianBayesNet.h @@ -71,10 +71,8 @@ namespace gtsam { */ template GaussianBayesNet( - std::initializer_list > - sharedConditionals) { - for (auto&& gc : sharedConditionals) push_back(gc); - } + std::initializer_list > conditionals) + : Base(conditionals) {} /// Destructor virtual ~GaussianBayesNet() = default; diff --git a/gtsam/symbolic/SymbolicBayesNet.h b/gtsam/symbolic/SymbolicBayesNet.h index 643feee3f..ef1505108 100644 --- a/gtsam/symbolic/SymbolicBayesNet.h +++ b/gtsam/symbolic/SymbolicBayesNet.h @@ -62,10 +62,10 @@ namespace gtsam { /** * Constructor that takes an initializer list of shared pointers. - * FactorGraph fg = {make_shared(), ...}; + * SymbolicBayesNet bn = {make_shared(), ...}; */ - SymbolicBayesNet(std::initializer_list> sharedFactors) - : Base() {} + SymbolicBayesNet(std::initializer_list> conditionals) + : Base(conditionals) {} /// Construct from a single conditional SymbolicBayesNet(SymbolicConditional&& c) {