22#include <boost/optional.hpp>
59 typedef std::vector<double>
Row;
60 typedef std::vector<Row> Table;
71 boost::optional<std::string> spec_;
74 boost::optional<Table> table_;
103 const std::string& spec);
127 const boost::optional<Table>& table()
const {
return table_; }
130 std::vector<double> cpt()
const;
133 Signature& operator,(
const DiscreteKey& parent);
136 Signature& operator=(
const std::string& spec);
139 Signature& operator=(
const Table& table);
142 GTSAM_EXPORT
friend std::ostream& operator<<(std::ostream& os,
specialized key for discrete variables
std::pair< Key, size_t > DiscreteKey
Key type for discrete variables.
Definition DiscreteKey.h:36
Global functions in a separate testing namespace.
Definition chartTesting.h:28
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition Key.h:86
Signature operator|(const DiscreteKey &key, const DiscreteKey &parent)
Helper function to create Signature objects example: Signature s = D | E;.
Definition Signature.cpp:178
Signature operator%(const DiscreteKey &key, const string &parent)
Helper function to create Signature objects example: Signature s(D % "99/1");.
Definition Signature.cpp:183
DiscreteKeys is a set of keys that can be assembled using the & operator.
Definition DiscreteKey.h:39
Signature for a discrete conditional density, used to construct conditionals.
Definition Signature.h:54
std::vector< double > Row
Data type for the CPT.
Definition Signature.h:59
const DiscreteKey & key() const
the variable key
Definition Signature.h:115
const DiscreteKeys & parents() const
the parent keys
Definition Signature.h:118