49#ifndef GUM_INSTANCE_BAYESNET_H
50#define GUM_INSTANCE_BAYESNET_H
73 template < GUM_Numeric GUM_SCALAR >
102 const Tensor< GUM_SCALAR >&
cpt(
NodeId varId)
const override;
127 std::string
toDot()
const override;
151#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Base class for discrete random variable.
The class for generic Hash Tables.
IBayesNet()
Default constructor.
Container used to map discrete variables with nodes.
This class decorates an PRMInstance<GUM_SCALAR> as an IBaseBayesNet.
std::string toDot() const override
NodeProperty< Size > _modalities_
InstanceBayesNet(const PRMInstance< GUM_SCALAR > &i)
Default constructor.
void _init_(const PRMInstance< GUM_SCALAR > &i)
const VariableNodeMap & variableNodeMap() const override
See gum::IBaseBayesNet::variableNodeMap().
~InstanceBayesNet() override
Destructor.
const NodeProperty< Size > & modalities() const
See gum::IBaseBayesNet::cpt().
const DiscreteVariable & variable(NodeId id) const override
See gum::IBaseBayesNet::variable().
HashTable< const DiscreteVariable *, const PRMAttribute< GUM_SCALAR > * > _varNodeMap_
Mapping between DiscreteVariable and their NodeId.
const Tensor< GUM_SCALAR > & cpt(NodeId varId) const override
See gum::IBaseBayesNet::cpt().
const PRMClassElement< GUM_SCALAR > & _get_(NodeId id) const
Private getter with type checking in case the id is not a formal PRMAttribute<GUM_SCALAR>.
const DiscreteVariable & variableFromName(std::string_view name) const override
See gum::IBaseBayesNet::variableFromName().
InstanceBayesNet & operator=(const InstanceBayesNet &from)
Copy operator.
NodeId idFromName(std::string_view name) const override
See gum::IBaseBayesNet::idFromName().
NodeId nodeId(const DiscreteVariable &var) const override
See gum::IBaseBayesNet::nodeId().
const PRMInstance< GUM_SCALAR > * _inst_
The PRMClassElementContainer decorated by this.
Abstract class representing an element of PRM class.
An PRMInstance is a Bayesian network fragment defined by a Class and used in a PRMSystem.
Size NodeId
Type for node ids.
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
Inline implementation of InstanceBayesNet.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities