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)
: 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:

View File

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

View File

@ -62,10 +62,10 @@ namespace gtsam {
/**
* 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)
: Base() {}
SymbolicBayesNet(std::initializer_list<boost::shared_ptr<SymbolicConditional>> conditionals)
: Base(conditionals) {}
/// Construct from a single conditional
SymbolicBayesNet(SymbolicConditional&& c) {