Fix issue with initializer constructors

release/4.3a0
Frank Dellaert 2023-01-10 00:00:03 -08:00
parent b51f176232
commit 0e01ea6b5d
3 changed files with 11 additions and 7 deletions

View File

@ -50,6 +50,12 @@ class BayesNet : public FactorGraph<CONDITIONAL> {
BayesNet(ITERATOR firstConditional, ITERATOR lastConditional) BayesNet(ITERATOR firstConditional, ITERATOR lastConditional)
: Base(firstConditional, lastConditional) {} : Base(firstConditional, lastConditional) {}
/**
* Constructor that takes an initializer list of shared pointers.
* BayesNet<SymbolicConditional> bn = {make_shared<SymbolicConditional>(), ...};
*/
BayesNet(std::initializer_list<sharedConditional> conditionals): Base(conditionals) {}
/// @} /// @}
public: public:

View File

@ -71,10 +71,8 @@ namespace gtsam {
*/ */
template <class DERIVEDCONDITIONAL> template <class DERIVEDCONDITIONAL>
GaussianBayesNet( GaussianBayesNet(
std::initializer_list<boost::shared_ptr<DERIVEDCONDITIONAL> > std::initializer_list<boost::shared_ptr<DERIVEDCONDITIONAL> > conditionals)
sharedConditionals) { : Base(conditionals) {}
for (auto&& gc : sharedConditionals) push_back(gc);
}
/// Destructor /// Destructor
virtual ~GaussianBayesNet() = default; virtual ~GaussianBayesNet() = default;

View File

@ -62,10 +62,10 @@ namespace gtsam {
/** /**
* Constructor that takes an initializer list of shared pointers. * Constructor that takes an initializer list of shared pointers.
* FactorGraph fg = {make_shared<MyFactor>(), ...}; * SymbolicBayesNet bn = {make_shared<SymbolicConditional>(), ...};
*/ */
SymbolicBayesNet(std::initializer_list<boost::shared_ptr<SymbolicConditional>> sharedFactors) SymbolicBayesNet(std::initializer_list<boost::shared_ptr<SymbolicConditional>> conditionals)
: Base() {} : Base(conditionals) {}
/// Construct from a single conditional /// Construct from a single conditional
SymbolicBayesNet(SymbolicConditional&& c) { SymbolicBayesNet(SymbolicConditional&& c) {