47 template <
typename ITERATOR>
49 : Base(firstConditional, lastConditional) {}
52 template <
class CONTAINER>
59 template <
class DERIVEDCONDITIONAL>
72 emplace_shared<SymbolicConditional>(
c);
82 emplace_shared<SymbolicConditional>(
c);
92 GTSAM_EXPORT
bool equals(
const This& bn,
double tol = 1
e-9)
const;
96 const std::string&
s =
"SymbolicBayesNet",
104 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 106 friend class boost::serialization::access;
107 template<
class ARCHIVE>
108 void serialize(ARCHIVE & ar,
const unsigned int ) {
109 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
Typedefs for easier changing of types.
GTSAM_EXPORT void print(const std::string &s="SymbolicBayesNet", const KeyFormatter &formatter=DefaultKeyFormatter) const override
print
GTSAM_EXPORT bool equals(const This &bn, double tol=1e-9) const
std::string serialize(const T &input)
serializes to a string
SymbolicBayesNet(SymbolicConditional &&c)
Construct from a single conditional.
IsDerived< DERIVEDFACTOR > push_back(std::shared_ptr< DERIVEDFACTOR > factor)
Add a factor directly using a shared_ptr.
NonlinearFactorGraph graph
static const KeyFormatter DefaultKeyFormatter
const KeyFormatter & formatter
std::shared_ptr< ConditionalType > sharedConditional
Array< double, 1, 3 > e(1./3., 0.5, 2.)
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
SymbolicConditional ConditionalType
std::shared_ptr< This > shared_ptr
SymbolicBayesNet(std::initializer_list< std::shared_ptr< SymbolicConditional >> conditionals)
const std::vector< GaussianConditional::shared_ptr > conditionals
BayesNet< SymbolicConditional > Base
SymbolicBayesNet(const CONTAINER &conditionals)
SymbolicBayesNet & operator()(SymbolicConditional &&c)
Add a single conditional and return a reference. This allows for chaining, e.g., SymbolicBayesNet bn ...
SymbolicBayesNet(ITERATOR firstConditional, ITERATOR lastConditional)
SymbolicBayesNet(const FactorGraph< DERIVEDCONDITIONAL > &graph)
void print(const std::string &s="BayesNet", const KeyFormatter &formatter=DefaultKeyFormatter) const override