![]() |
aGrUM 3.0.0
a C++ library for (probabilistic) graphical models
|
An PRMInstance is a Bayesian network fragment defined by a Class and used in a PRMSystem. More...
#include <PRMInstance.h>
Classes | |
| class | RefIterator |
| Nested class to iterate over PRMReferenceSlot and PRMSlotChain<GUM_SCALAR> instantiations. More... | |
| class | RefConstIterator |
| Nested class to iterate over PRMReferenceSlot and PRMSlotChain<GUM_SCALAR> instantiations. More... | |
Public Member Functions | |
Constructors & private operators. | |
| PRMInstance (std::string_view name, PRMClass< GUM_SCALAR > &type) | |
| Default constructor of an PRMInstance<GUM_SCALAR>. | |
| ~PRMInstance () override | |
| Destructor. | |
Getters & setters. | |
| prm_type | obj_type () const override |
| Returns the PRM type of this object. | |
| PRMClass< GUM_SCALAR > & | type () |
| Returns the type of this instance. | |
| const PRMClass< GUM_SCALAR > & | type () const |
| Returns the type of this instance. | |
| bool | exists (NodeId id) const |
| Returns true if id matches an PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| bool | exists (std::string_view name) const |
| Returns true if name matches an PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| PRMAttribute< GUM_SCALAR > & | get (NodeId id) |
| Getter on an PRMAttribute<GUM_SCALAR> of this PRMInstance<GUM_SCALAR>. | |
| PRMAttribute< GUM_SCALAR > & | get (std::string_view name) |
| Given a name returns the related PRMAttribute<GUM_SCALAR>. | |
| const PRMAttribute< GUM_SCALAR > & | get (NodeId id) const |
| Getter on an PRMAttribute<GUM_SCALAR> of this PRMInstance<GUM_SCALAR>. | |
| const PRMAttribute< GUM_SCALAR > & | get (std::string_view name) const |
| Given a name returns the related PRMClassElement. | |
| Size | size () const |
| Returns the number of attributes in this PRMInstance<GUM_SCALAR>. | |
Instantiation methods. | |
| void | instantiate () |
| Instantiate all nodes which requires it. | |
| const Bijection< const DiscreteVariable *, const DiscreteVariable * > & | bijection () const |
| Returns a mapping between DiscreteVariable used in this and the ones used in this PRMInstance<GUM_SCALAR>'s Class<GUM_SCALAR>. | |
Reference handling. | |
| void | add (NodeId id, PRMInstance< GUM_SCALAR > &instance) |
| Add an PRMInstance<GUM_SCALAR> to a given PRMReferenceSlot, PRMSlotChain<GUM_SCALAR> or output node. | |
| const PRMInstance< GUM_SCALAR > & | getInstance (NodeId id) const |
| Fast access to the first instance in a PRMReferenceSlot or PRMSlotChain<GUM_SCALAR>. | |
| const Set< PRMInstance< GUM_SCALAR > * > & | getInstances (NodeId id) const |
| Returns the Set of PRMInstance<GUM_SCALAR> referenced by id. | |
| bool | hasRefAttr (NodeId id) const |
| Returns true if id has at least one referring PRMAttribute<GUM_SCALAR>. | |
| std::vector< std::pair< PRMInstance< GUM_SCALAR > *, std::string > > & | getRefAttr (NodeId id) |
| Returns a vector of pairs of refering attributes of id. | |
| const std::vector< std::pair< PRMInstance< GUM_SCALAR > *, std::string > > & | getRefAttr (NodeId id) const |
| Returns a vector of pairs of refering attributes of id. | |
Getters & setters. | |
| const std::string & | name () const |
| Returns the name of this object. | |
| void | name (std::string_view name) |
| Change the name of the PRM Object. | |
Operators | |
| bool | operator== (const PRMObject &obj) const |
| To PRMObject are equal if they have the same name (which is unique). | |
| bool | operator!= (const PRMObject &obj) const |
| To PRMObject are equal if they have the same name (which is unique). | |
Private Member Functions | |
| PRMInstance (const PRMInstance< GUM_SCALAR > &source) | |
| Copy constructor. | |
| PRMInstance< GUM_SCALAR > & | operator= (const PRMClass< GUM_SCALAR > &from) |
| Copy operator. Don't use it. | |
Private instantiation methods. | |
| void | _copyAggregates_ (PRMAggregate< GUM_SCALAR > *source) |
| Used at construction to instantiate aggregates. | |
| void | _copyAttribute_ (PRMAttribute< GUM_SCALAR > *source) |
| Used at construction to instantiate attributes. | |
| void | _doInstantiate_ () |
| Starts this instance instantiations. | |
| void | _instantiateSlotChain_ (PRMSlotChain< GUM_SCALAR > *sc) |
| Retrieve all instances referred by sc. | |
| void | _copyAttributeCPF_ (PRMAttribute< GUM_SCALAR > *attr) |
| Copy the content of an PRMAttribute<GUM_SCALAR> from its Class<GUM_SCALAR> counterpart. | |
| void | _addReferingInstance_ (PRMSlotChain< GUM_SCALAR > *sc, PRMInstance< GUM_SCALAR > *i) |
| Add this as a referring instance over the attribute pointed by sc in i. | |
Private Attributes | |
Private members. | |
| std::string | _name_ |
Iterators | |
| using | iterator = typename NodeProperty< PRMAttribute< GUM_SCALAR >* >::iterator |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| using | const_iterator = typename NodeProperty< PRMAttribute< GUM_SCALAR >* >::const_iterator |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| using | InvRefIterator |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| using | InvRefConstIterator |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| iterator | begin () |
| Returns an iterator at the begining of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| const iterator & | end () |
| Returns a reference over the iterator at the end of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| const_iterator | begin () const |
| Returns an iterator at the beginning of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| const const_iterator & | end () const |
| Returns a reference over the iterator at the end of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| RefIterator | begin (NodeId id) |
| Returns an iterator at the beginning of the set of PRMInstance<GUM_SCALAR> associated to a given gum::prm::PRMReferenceSlot or gum::prm::PRMSlotChain<GUM_SCALAR>. | |
| RefConstIterator | begin (NodeId id) const |
| Returns an iterator at the beginning of the set of PRMInstance<GUM_SCALAR> associated to a given gum::prm::PRMReferenceSlot or gum::prm::PRMSlotChain<GUM_SCALAR>. | |
| InvRefIterator | beginInvRef () |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| const InvRefIterator & | endInvRef () |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| InvRefConstIterator | beginInvRef () const |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
| const InvRefConstIterator & | endInvRef () const |
| Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. | |
Built-in types. | |
| enum class | prm_type : char { ALL , CLASS , PRM_INTERFACE , CLASS_ELT , TYPE , SYSTEM , INSTANCE } |
| Enumeration of the different types of objects handled by a PRM. More... | |
| static std::string | LEFT_CAST () |
| Enumeration of the different types of objects handled by a PRM. | |
| static std::string | RIGHT_CAST () |
| Enumeration of the different types of objects handled by a PRM. | |
| static std::string | enum2str (prm_type type) |
| Returns the string representation of a PRMObject. | |
| static INLINE bool | isClass (const PRMObject &obj) |
| Returns true if obj_ptr is of type Class. | |
| static INLINE bool | isInterface (const PRMObject &obj) |
| Returns true if obj_ptr is of type PRMInterface. | |
| static INLINE bool | isInstance (const PRMObject &obj) |
| Returns true if obj_ptr is of type PRMInstance. | |
Private members. | |
| using | pair = std::pair< PRMInstance< GUM_SCALAR >*, std::string > |
| Code alias. | |
| bool | _instantiated_ |
| True if this instance has been instantiated. | |
| PRMClass< GUM_SCALAR > * | _type_ |
| The type of this PRMInstance<GUM_SCALAR>. | |
| NodeProperty< PRMAttribute< GUM_SCALAR > * > | _nodeIdMap_ |
| The gum::prm::PRMAttribute<GUM_SCALAR> and gum::prm::PRMAggregate<GUM_SCALAR> of this PRMInstance<GUM_SCALAR>. | |
| NodeProperty< Set< PRMInstance< GUM_SCALAR > * > * > | _referenceMap_ |
| Mapping between the gum::prm::PRMReferenceSlot and gum::prm::PRMSlotChain<GUM_SCALAR> in type / and the PRMInstance<GUM_SCALAR> associated with it. | |
| NodeProperty< std::vector< pair > * > | _referingAttr_ |
| The set of pair (instance, attribute) referring an attribute of this instance. | |
| Bijection< const DiscreteVariable *, const DiscreteVariable * > | _bijection_ |
| A bijection used for MultiDim handling. | |
An PRMInstance is a Bayesian network fragment defined by a Class and used in a PRMSystem.
Before using an PRMInstance for inference YOU MUST call PRMInstance::instantiateSlotChains() and PRMInstance::instantiate() on it before, otherwise DiscreteVariable pointers will be inconsistent and inference will be erroneous. Of course, this must be done once you have set all reference in the current system.
Definition at line 79 of file PRMInstance.h.
| using gum::prm::PRMInstance< GUM_SCALAR >::const_iterator = typename NodeProperty< PRMAttribute< GUM_SCALAR >* >::const_iterator |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 340 of file PRMInstance.h.
| using gum::prm::PRMInstance< GUM_SCALAR >::InvRefConstIterator |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 455 of file PRMInstance.h.
| using gum::prm::PRMInstance< GUM_SCALAR >::InvRefIterator |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 453 of file PRMInstance.h.
| using gum::prm::PRMInstance< GUM_SCALAR >::iterator = typename NodeProperty< PRMAttribute< GUM_SCALAR >* >::iterator |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 327 of file PRMInstance.h.
|
private |
Code alias.
Definition at line 531 of file PRMInstance.h.
|
stronginherited |
Enumeration of the different types of objects handled by a PRM.
The "all" type is used to tell that we want any kind of PRMType (useful with iterators for example). No PRMObject will ever have "all" as type.
| Enumerator | |
|---|---|
| ALL | |
| CLASS | |
| PRM_INTERFACE | |
| CLASS_ELT | |
| TYPE | |
| SYSTEM | |
| INSTANCE | |
Definition at line 90 of file PRMObject.h.
| gum::prm::PRMInstance< GUM_SCALAR >::PRMInstance | ( | std::string_view | name, |
| PRMClass< GUM_SCALAR > & | type ) |
Default constructor of an PRMInstance<GUM_SCALAR>.
When you create an PRMInstance<GUM_SCALAR> all gum::prm::PRMAttribute<GUM_SCALAR> in it's type are added, except for gum::prm::PRMAggregate<GUM_SCALAR> and parameters which are instantiated.
However neither of their children or parents are updated (i.e. DiscreteVariable pointers are inconsistent).
Definition at line 57 of file PRMInstance_tpl.h.
References PRMInstance(), gum::prm::PRMObject::PRMObject(), _copyAggregates_(), _copyAttribute_(), _instantiated_, _type_, gum::prm::PRMObject::name(), and type().
Referenced by PRMInstance(), PRMInstance(), gum::prm::PRMInstance< GUM_SCALAR >::RefConstIterator::RefConstIterator(), gum::prm::PRMInstance< GUM_SCALAR >::RefIterator::RefIterator(), gum::prm::PRMInstance< GUM_SCALAR >::RefIterator::RefIterator(), ~PRMInstance(), _addReferingInstance_(), add(), getInstance(), gum::prm::PRMInstance< GUM_SCALAR >::RefIterator::operator*(), and gum::prm::PRMInstance< GUM_SCALAR >::RefIterator::operator->().
|
override |
Destructor.
Definition at line 72 of file PRMInstance_tpl.h.
References PRMInstance(), _nodeIdMap_, _referenceMap_, and _referingAttr_.
|
private |
Copy constructor.
Definition at line 265 of file PRMInstance_tpl.h.
References PRMInstance(), gum::prm::PRMObject::PRMObject(), _type_, and GUM_ERROR.
|
private |
Add this as a referring instance over the attribute pointed by sc in i.
| sc | A slot chain pointing over an attribute in i. |
| i | An instance holding an attribute pointed by sc. |
Definition at line 329 of file PRMInstance_tpl.h.
References PRMInstance(), _referenceMap_, _referingAttr_, get(), gum::prm::PRMSlotChain< GUM_SCALAR >::lastElt(), and gum::prm::PRMObject::name().
Referenced by _instantiateSlotChain_().
|
private |
Used at construction to instantiate aggregates.
Definition at line 243 of file PRMInstance_tpl.h.
References _bijection_, _nodeIdMap_, gum::prm::PRMAggregate< GUM_SCALAR >::buildImpl(), gum::prm::PRMClassElement< GUM_SCALAR >::id(), gum::prm::PRMObject::name(), gum::prm::PRMAggregate< GUM_SCALAR >::type(), and gum::prm::PRMType::variable().
Referenced by PRMInstance().
|
private |
Used at construction to instantiate attributes.
| source | An attribute in type. |
Definition at line 254 of file PRMInstance_tpl.h.
References _bijection_, _nodeIdMap_, gum::prm::PRMClassElement< GUM_SCALAR >::id(), gum::prm::PRMObject::name(), gum::prm::PRMAttribute< GUM_SCALAR >::type(), and gum::prm::PRMType::variable().
Referenced by PRMInstance().
|
private |
Copy the content of an PRMAttribute<GUM_SCALAR> from its Class<GUM_SCALAR> counterpart.
| attr | An PRMAttribute<GUM_SCALAR> of this PRMInstance<GUM_SCALAR>. |
| OperationNotAllowed | If the MultiDimImplementation is of an unknown type. |
Definition at line 569 of file PRMInstance_tpl.h.
References bijection(), gum::prm::PRMAttribute< GUM_SCALAR >::copyCpf(), gum::prm::PRMAttribute< GUM_SCALAR >::cpf(), gum::prm::PRMClassElement< GUM_SCALAR >::safeName(), gum::prm::PRMAttribute< GUM_SCALAR >::type(), type(), and gum::prm::PRMType::variable().
Referenced by _doInstantiate_().
|
private |
Starts this instance instantiations.
Definition at line 94 of file PRMInstance_tpl.h.
References _copyAttributeCPF_(), _instantiateSlotChain_(), _nodeIdMap_, _referenceMap_, gum::prm::PRMAttribute< GUM_SCALAR >::addParent(), get(), and type().
Referenced by instantiate().
|
private |
Retrieve all instances referred by sc.
| sc | A slot chain of this instance's type. |
| NotFound | Raised if a reference in sc is not instantiated. |
Definition at line 128 of file PRMInstance_tpl.h.
References _addReferingInstance_(), _bijection_, _referenceMap_, gum::prm::PRMSlotChain< GUM_SCALAR >::chain(), gum::prm::PRMClassElement< GUM_SCALAR >::id(), gum::prm::PRMSlotChain< GUM_SCALAR >::isMultiple(), gum::prm::PRMSlotChain< GUM_SCALAR >::lastElt(), size(), gum::prm::PRMSlotChain< GUM_SCALAR >::type(), and gum::prm::PRMType::variable().
Referenced by _doInstantiate_().
| void gum::prm::PRMInstance< GUM_SCALAR >::add | ( | NodeId | id, |
| PRMInstance< GUM_SCALAR > & | instance ) |
Add an PRMInstance<GUM_SCALAR> to a given PRMReferenceSlot, PRMSlotChain<GUM_SCALAR> or output node.
Three type of nodes can be associated with an PRMInstance<GUM_SCALAR>. When an PRMInstance<GUM_SCALAR> is associated with a PRMReferenceSlot, it represents an arc in the relational skeleton. For a PRMSlotChain<GUM_SCALAR>, it is a placeholder of referenced PRMClassElement by this PRMInstance<GUM_SCALAR>. Finally, for an output node it indicates that an PRMInstance<GUM_SCALAR> has an PRMClassElement referring it.
| id | The NodeId of a PRMReferenceSlot of this PRMInstance<GUM_SCALAR>. |
| instance | The instance added as references by id in this PRMInstance<GUM_SCALAR>. |
| WrongClassElement | Raised if id is not a valid PRMClassElement. |
| OutOfBounds | Raised if no more PRMInstance<GUM_SCALAR> can be added to id. |
| PRMTypeError | Raised if instance's type isn't compatible with the reference's type. |
| NotFound | If there is no PRMClassElement given id. |
Definition at line 172 of file PRMInstance_tpl.h.
References PRMInstance(), _referenceMap_, gum::prm::PRMClassElement< GUM_SCALAR >::elt_type(), gum::prm::PRMSlotChain< GUM_SCALAR >::end(), exists(), get(), GUM_ERROR, gum::prm::PRMClassElement< GUM_SCALAR >::prm_refslot, gum::prm::PRMClassElement< GUM_SCALAR >::prm_slotchain, gum::prm::PRMReferenceSlot< GUM_SCALAR >::slotType(), and type().
| PRMInstance< GUM_SCALAR >::iterator gum::prm::PRMInstance< GUM_SCALAR >::begin | ( | ) |
Returns an iterator at the begining of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 376 of file PRMInstance_tpl.h.
References _nodeIdMap_.
Referenced by gum::prm::PRMInstance< GUM_SCALAR >::RefConstIterator::RefConstIterator(), gum::prm::PRMInstance< GUM_SCALAR >::RefIterator::RefIterator(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::StructuredInference< GUM_SCALAR >::_reduceAloneInstances_(), and gum::prm::StructuredInference< GUM_SCALAR >::searchPatterns().
| PRMInstance< GUM_SCALAR >::const_iterator gum::prm::PRMInstance< GUM_SCALAR >::begin | ( | ) | const |
Returns an iterator at the beginning of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 386 of file PRMInstance_tpl.h.
References _nodeIdMap_.
| PRMInstance< GUM_SCALAR >::RefIterator gum::prm::PRMInstance< GUM_SCALAR >::begin | ( | NodeId | id | ) |
Returns an iterator at the beginning of the set of PRMInstance<GUM_SCALAR> associated to a given gum::prm::PRMReferenceSlot or gum::prm::PRMSlotChain<GUM_SCALAR>.
| id | A gum::prm::PRMReferenceSlot or gum::prm::PRMSlotChain<GUM_SCALAR> in this PRMInstance<GUM_SCALAR> type. |
| NotFound | Raised if no gum::prm::PRMClassElement in this PRMInstance<GUM_SCALAR> type matches id. |
| WrongClassElement | Raised if id is neither a PRMReferenceSlot or PRMSlotChain<GUM_SCALAR>. |
Definition at line 397 of file PRMInstance_tpl.h.
References _referenceMap_, and GUM_ERROR.
| PRMInstance< GUM_SCALAR >::RefConstIterator gum::prm::PRMInstance< GUM_SCALAR >::begin | ( | NodeId | id | ) | const |
Returns an iterator at the beginning of the set of PRMInstance<GUM_SCALAR> associated to a given gum::prm::PRMReferenceSlot or gum::prm::PRMSlotChain<GUM_SCALAR>.
| id | A gum::prm::PRMReferenceSlot or gum::prm::PRMSlotChain<GUM_SCALAR> in this PRMInstance<GUM_SCALAR> type. |
| NotFound | Raised if no gum::prm::PRMClassElement in this PRMInstance<GUM_SCALAR> type matches id. |
| WrongClassElement | Raised if id is neither a PRMReferenceSlot or PRMSlotChain<GUM_SCALAR>. |
Definition at line 405 of file PRMInstance_tpl.h.
References _referenceMap_, and GUM_ERROR.
| PRMInstance< GUM_SCALAR >::InvRefIterator gum::prm::PRMInstance< GUM_SCALAR >::beginInvRef | ( | ) |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 528 of file PRMInstance_tpl.h.
References _referingAttr_.
Referenced by gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesDownward_(), and gum::prm::SVE< GUM_SCALAR >::_eliminateNodesUpward_().
| PRMInstance< GUM_SCALAR >::InvRefConstIterator gum::prm::PRMInstance< GUM_SCALAR >::beginInvRef | ( | ) | const |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 540 of file PRMInstance_tpl.h.
References _referingAttr_.
| const Bijection< const DiscreteVariable *, const DiscreteVariable * > & gum::prm::PRMInstance< GUM_SCALAR >::bijection | ( | ) | const |
Returns a mapping between DiscreteVariable used in this and the ones used in this PRMInstance<GUM_SCALAR>'s Class<GUM_SCALAR>.
MultiDims require distinctive DiscreteVariable pointers, thus interface attributes are always instantiated to prevent multiple insertion of the same DiscreteVariable pointer in a MultiDim.
Definition at line 346 of file PRMInstance_tpl.h.
References _bijection_.
Referenced by _copyAttributeCPF_(), gum::prm::SVE< GUM_SCALAR >::_insertLiftedNodes_(), gum::prm::SVED< GUM_SCALAR >::_insertLiftedNodes_(), and gum::prm::StructuredInference< GUM_SCALAR >::_reduceAloneInstances_().
| const PRMInstance< GUM_SCALAR >::iterator & gum::prm::PRMInstance< GUM_SCALAR >::end | ( | ) |
Returns a reference over the iterator at the end of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 381 of file PRMInstance_tpl.h.
References _nodeIdMap_.
Referenced by gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::StructuredInference< GUM_SCALAR >::_reduceAloneInstances_(), and gum::prm::PRMInference< GUM_SCALAR >::posterior().
| const PRMInstance< GUM_SCALAR >::const_iterator & gum::prm::PRMInstance< GUM_SCALAR >::end | ( | ) | const |
Returns a reference over the iterator at the end of the list of gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 392 of file PRMInstance_tpl.h.
References _nodeIdMap_.
| const PRMInstance< GUM_SCALAR >::InvRefIterator & gum::prm::PRMInstance< GUM_SCALAR >::endInvRef | ( | ) |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 534 of file PRMInstance_tpl.h.
References _referingAttr_.
Referenced by gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesDownward_(), and gum::prm::SVE< GUM_SCALAR >::_eliminateNodesUpward_().
| const PRMInstance< GUM_SCALAR >::InvRefConstIterator & gum::prm::PRMInstance< GUM_SCALAR >::endInvRef | ( | ) | const |
Alias to iterate over the gum::prm::PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 546 of file PRMInstance_tpl.h.
References _referingAttr_.
|
staticinherited |
Returns the string representation of a PRMObject.
Definition at line 75 of file PRMObject_inl.h.
References CLASS, CLASS_ELT, INSTANCE, PRM_INTERFACE, SYSTEM, and TYPE.
Referenced by gum::prm::operator<<().
| bool gum::prm::PRMInstance< GUM_SCALAR >::exists | ( | NodeId | id | ) | const |
Returns true if id matches an PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 293 of file PRMInstance_tpl.h.
References _nodeIdMap_.
Referenced by gum::prm::InstanceBayesNet< GUM_SCALAR >::_init_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_isHardEvidence_(), add(), exists(), gum::prm::o3prmr::O3prmrInterpreter::findAttributeName(), get(), and get().
| bool gum::prm::PRMInstance< GUM_SCALAR >::exists | ( | std::string_view | name | ) | const |
Returns true if name matches an PRMAttribute<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>.
Definition at line 298 of file PRMInstance_tpl.h.
References _type_, exists(), and gum::prm::PRMObject::name().
| PRMAttribute< GUM_SCALAR > & gum::prm::PRMInstance< GUM_SCALAR >::get | ( | NodeId | id | ) |
Getter on an PRMAttribute<GUM_SCALAR> of this PRMInstance<GUM_SCALAR>.
Recall that PRMAggregate<GUM_SCALAR> are instantiated as PRMAttribute<GUM_SCALAR> when an PRMInstance<GUM_SCALAR> is created. Thus any random variable contained in this PRMInstance<GUM_SCALAR> is mapped to an PRMAttribute<GUM_SCALAR>.
| id | The PRMAttribute<GUM_SCALAR> id. |
| NotFound | Raised if no PRMAttribute<GUM_SCALAR> matches name. |
Definition at line 303 of file PRMInstance_tpl.h.
References _nodeIdMap_, and GUM_ERROR.
Referenced by gum::prm::SVE< GUM_SCALAR >::_addDelayedVariable_(), _addReferingInstance_(), _doInstantiate_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesWithEvidence_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesWithEvidence_(), gum::prm::SVE< GUM_SCALAR >::_getAggTensor_(), gum::prm::SVED< GUM_SCALAR >::_getAggTensor_(), gum::prm::PRMSystem< GUM_SCALAR >::_groundRef_(), gum::prm::PRMSystem< double >::_groundTensor_(), gum::prm::InstanceBayesNet< GUM_SCALAR >::_init_(), gum::prm::StructuredInference< GUM_SCALAR >::_insertNodeInElimLists_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_isHardEvidence_(), gum::prm::StructuredInference< GUM_SCALAR >::_reduceAloneInstances_(), add(), gum::prm::o3prmr::O3prmrInterpreter::checkObserve(), gum::prm::o3prmr::O3prmrInterpreter::checkQuery(), and gum::prm::o3prmr::O3prmrInterpreter::checkUnobserve().
| const PRMAttribute< GUM_SCALAR > & gum::prm::PRMInstance< GUM_SCALAR >::get | ( | NodeId | id | ) | const |
Getter on an PRMAttribute<GUM_SCALAR> of this PRMInstance<GUM_SCALAR>.
Recall that PRMAggregate<GUM_SCALAR> are instantiated has PRMAttribute<GUM_SCALAR> when an PRMInstance<GUM_SCALAR> is created. Thus any random variable contained in this PRMInstance<GUM_SCALAR> is mapped to an PRMAttribute<GUM_SCALAR>.
| id | The PRMAttribute<GUM_SCALAR> id. |
| NotFound | Raised if no PRMAttribute<GUM_SCALAR> matches name. |
Definition at line 310 of file PRMInstance_tpl.h.
References _nodeIdMap_, and GUM_ERROR.
| PRMAttribute< GUM_SCALAR > & gum::prm::PRMInstance< GUM_SCALAR >::get | ( | std::string_view | name | ) |
Given a name returns the related PRMAttribute<GUM_SCALAR>.
| name | The PRMAttribute<GUM_SCALAR>'s name. |
| NotFound | Raised if there is no PRMAttribute<GUM_SCALAR> named n. |
Definition at line 317 of file PRMInstance_tpl.h.
References _nodeIdMap_, exists(), GUM_ERROR, gum::prm::PRMObject::name(), and type().
| const PRMAttribute< GUM_SCALAR > & gum::prm::PRMInstance< GUM_SCALAR >::get | ( | std::string_view | name | ) | const |
Given a name returns the related PRMClassElement.
| name | The PRMClassElement's name. |
| NotFound | Raised if there is no PRMClassElement named n. |
Definition at line 323 of file PRMInstance_tpl.h.
References _nodeIdMap_, exists(), GUM_ERROR, gum::prm::PRMObject::name(), and type().
| const PRMInstance< GUM_SCALAR > & gum::prm::PRMInstance< GUM_SCALAR >::getInstance | ( | NodeId | id | ) | const |
Fast access to the first instance in a PRMReferenceSlot or PRMSlotChain<GUM_SCALAR>.
This is equivalent to **(this->getInstance(id).begin()) and should be use when dealing with non multiple PRMReferenceSlot or PRMSlotChain<GUM_SCALAR>.
| id | The NodeId of a PRMReferenceSlot or PRMSlotChain<GUM_SCALAR> in this PRMInstance<GUM_SCALAR>. |
| NotFound | Raised if there is no PRMClassElement given id. |
| UndefinedElement | Raised if no PRMInstance<GUM_SCALAR> are referenced by id. |
Definition at line 351 of file PRMInstance_tpl.h.
References PRMInstance(), _referenceMap_, and GUM_ERROR.
| const Set< PRMInstance< GUM_SCALAR > * > & gum::prm::PRMInstance< GUM_SCALAR >::getInstances | ( | NodeId | id | ) | const |
Returns the Set of PRMInstance<GUM_SCALAR> referenced by id.
| id | The NodeId of a PRMReferenceSlot or PRMSlotChain<GUM_SCALAR> in this. |
| NotFound | If there is no PRMClassElement given id. |
Definition at line 366 of file PRMInstance_tpl.h.
References _referenceMap_, and GUM_ERROR.
Referenced by gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesDownward_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesDownward_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesUpward_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesUpward_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_fromChild_(), and gum::prm::PRMSystem< GUM_SCALAR >::_groundRef_().
| std::vector< std::pair< PRMInstance< GUM_SCALAR > *, std::string > > & gum::prm::PRMInstance< GUM_SCALAR >::getRefAttr | ( | NodeId | id | ) |
Returns a vector of pairs of refering attributes of id.
Definition at line 552 of file PRMInstance_tpl.h.
References _referingAttr_.
Referenced by gum::prm::SVED< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesDownward_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesUpward_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_fromChild_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_fromParent_(), and gum::prm::StructuredInference< GUM_SCALAR >::_insertNodeInElimLists_().
| const std::vector< std::pair< PRMInstance< GUM_SCALAR > *, std::string > > & gum::prm::PRMInstance< GUM_SCALAR >::getRefAttr | ( | NodeId | id | ) | const |
Returns a vector of pairs of refering attributes of id.
Definition at line 558 of file PRMInstance_tpl.h.
References _referingAttr_.
| bool gum::prm::PRMInstance< GUM_SCALAR >::hasRefAttr | ( | NodeId | id | ) | const |
Returns true if id has at least one referring PRMAttribute<GUM_SCALAR>.
| id | A NodeId. |
Definition at line 563 of file PRMInstance_tpl.h.
References _referingAttr_.
Referenced by gum::prm::SVED< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesDownward_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesUpward_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_fromChild_(), and gum::prm::StructuredBayesBall< GUM_SCALAR >::_fromParent_().
| void gum::prm::PRMInstance< GUM_SCALAR >::instantiate | ( | ) |
Instantiate all nodes which requires it.
All attributes are now instantiated, which means they have a different DiscreteVariable pointer. This methods however still connects attributes of different instance together.
Definition at line 86 of file PRMInstance_tpl.h.
References _doInstantiate_(), and _instantiated_.
Returns true if obj_ptr is of type Class.
Definition at line 93 of file PRMObject_inl.h.
References PRMObject().
Referenced by gum::prm::PRMClass< GUM_SCALAR >::scope(), and gum::prm::PRMFactory< GUM_SCALAR >::startAttribute().
Returns true if obj_ptr is of type PRMInstance.
Definition at line 101 of file PRMObject_inl.h.
References PRMObject(), INSTANCE, and obj_type().
Returns true if obj_ptr is of type PRMInterface.
Definition at line 97 of file PRMObject_inl.h.
|
staticinherited |
Enumeration of the different types of objects handled by a PRM.
The "all" type is used to tell that we want any kind of PRMType (useful with iterators for example). No PRMObject will ever have "all" as type.
Definition at line 71 of file PRMObject_inl.h.
Referenced by gum::prm::PRMAggregate< GUM_SCALAR >::PRMAggregate(), gum::prm::PRMAggregate< GUM_SCALAR >::PRMAggregate(), gum::prm::PRMFormAttribute< GUM_SCALAR >::PRMFormAttribute(), gum::prm::PRMReferenceSlot< GUM_SCALAR >::PRMReferenceSlot(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::PRMScalarAttribute(), gum::prm::PRMSlotChain< GUM_SCALAR >::PRMSlotChain(), gum::prm::PRMClassElement< GUM_SCALAR >::cast(), and gum::prm::decomposePath().
|
inherited |
Returns the name of this object.
Definition at line 57 of file PRMObject_inl.h.
References _name_.
Referenced by gum::prm::PRMAggregate< GUM_SCALAR >::PRMAggregate(), gum::prm::PRMAggregate< GUM_SCALAR >::PRMAggregate(), gum::prm::PRMAttribute< GUM_SCALAR >::PRMAttribute(), gum::prm::PRMClass< GUM_SCALAR >::PRMClass(), gum::prm::PRMClass< GUM_SCALAR >::PRMClass(), gum::prm::PRMClass< GUM_SCALAR >::PRMClass(), gum::prm::PRMClass< GUM_SCALAR >::PRMClass(), gum::prm::PRMClassElement< GUM_SCALAR >::PRMClassElement(), gum::prm::PRMClassElement< GUM_SCALAR >::PRMClassElement(), gum::prm::PRMClassElementContainer< GUM_SCALAR >::PRMClassElementContainer(), gum::prm::PRMFormAttribute< GUM_SCALAR >::PRMFormAttribute(), gum::prm::PRMFormAttribute< GUM_SCALAR >::PRMFormAttribute(), gum::prm::PRMFuncAttribute< GUM_SCALAR >::PRMFuncAttribute(), gum::prm::PRMInstance< GUM_SCALAR >::PRMInstance(), gum::prm::PRMInterface< GUM_SCALAR >::PRMInterface(), gum::prm::PRMInterface< GUM_SCALAR >::PRMInterface(), gum::prm::PRMInterface< GUM_SCALAR >::PRMInterface(), PRMObject(), gum::prm::PRMParameter< GUM_SCALAR >::PRMParameter(), gum::prm::PRMParameter< GUM_SCALAR >::PRMParameter(), gum::prm::PRMReferenceSlot< GUM_SCALAR >::PRMReferenceSlot(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::PRMScalarAttribute(), gum::prm::PRMSlotChain< GUM_SCALAR >::PRMSlotChain(), gum::prm::PRMSlotChain< GUM_SCALAR >::PRMSlotChain(), gum::prm::PRMSlotChain< GUM_SCALAR >::PRMSlotChain(), gum::prm::PRMSystem< GUM_SCALAR >::PRMSystem(), gum::prm::__print_attribute__(), gum::prm::__print_instance__(), gum::prm::SVE< GUM_SCALAR >::_addDelayedVariable_(), gum::prm::PRMClass< GUM_SCALAR >::_addIOInterfaceFlags_(), gum::prm::PRMFactory< GUM_SCALAR >::_addParent_(), gum::prm::PRMInstance< GUM_SCALAR >::_addReferingInstance_(), gum::prm::PRMClass< GUM_SCALAR >::_checkInterface_(), gum::prm::PRMFactory< GUM_SCALAR >::_checkInterfaceImplementation_(), gum::prm::PRMClass< GUM_SCALAR >::_checkInterfaces_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkRawCPT_(), gum::prm::PRMClass< GUM_SCALAR >::_checkRefInterface_(), gum::prm::PRMClass< GUM_SCALAR >::_checkRefInterfaces_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkRuleCPTSumsTo1_(), gum::prm::PRMInstance< GUM_SCALAR >::_copyAggregates_(), gum::prm::PRMInstance< GUM_SCALAR >::_copyAttribute_(), gum::prm::PRMSlotChain< GUM_SCALAR >::_copyLastElt_(), gum::prm::PRMSystem< GUM_SCALAR >::_groundAgg_(), gum::prm::PRMSystem< GUM_SCALAR >::_groundRef_(), gum::prm::PRMSystem< GUM_SCALAR >::_groundTensor_(), gum::prm::PRMSystem< double >::_groundTensor_(), gum::prm::PRMClass< GUM_SCALAR >::_inheritClass_(), gum::prm::PRMClass< GUM_SCALAR >::_overloadAttribute_(), gum::prm::PRMInterface< GUM_SCALAR >::_overloadAttribute_(), gum::prm::PRMClass< GUM_SCALAR >::_overloadParameter_(), gum::prm::PRMClass< GUM_SCALAR >::_overloadReference_(), gum::prm::PRMInterface< GUM_SCALAR >::_overloadReferenceSlot_(), gum::prm::gspan::StrictSearch< GUM_SCALAR >::_str_(), gum::prm::gspan::StrictSearch< GUM_SCALAR >::_str_(), gum::prm::gspan::StrictSearch< GUM_SCALAR >::_str_(), gum::prm::StructuredInference< GUM_SCALAR >::_str_(), gum::prm::StructuredInference< GUM_SCALAR >::_str_(), gum::prm::StructuredInference< GUM_SCALAR >::_str_(), gum::prm::PRMClass< GUM_SCALAR >::add(), gum::prm::PRMInterface< GUM_SCALAR >::add(), gum::prm::PRMSystem< GUM_SCALAR >::add(), gum::prm::PRMFactory< GUM_SCALAR >::addAggregator(), gum::prm::PRMFormAttribute< GUM_SCALAR >::addParent(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::addParent(), gum::prm::PRMClassElement< GUM_SCALAR >::cast(), gum::prm::PRMClass< GUM_SCALAR >::completeInheritance(), gum::prm::PRMFormAttribute< GUM_SCALAR >::copy(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::copy(), gum::prm::PRMClassElementContainer< GUM_SCALAR >::exists(), gum::prm::PRMInstance< GUM_SCALAR >::exists(), gum::prm::PRMSystem< GUM_SCALAR >::exists(), gum::prm::o3prmr::O3prmrInterpreter::findAttributeName(), gum::prm::o3prmr::O3prmrInterpreter::findInstanceName(), gum::prm::PRMClass< GUM_SCALAR >::get(), gum::prm::PRMClass< GUM_SCALAR >::get(), gum::prm::PRMClassElementContainer< GUM_SCALAR >::get(), gum::prm::PRMClassElementContainer< GUM_SCALAR >::get(), gum::prm::PRMInstance< GUM_SCALAR >::get(), gum::prm::PRMInstance< GUM_SCALAR >::get(), gum::prm::PRMInterface< GUM_SCALAR >::get(), gum::prm::PRMInterface< GUM_SCALAR >::get(), gum::prm::PRMSystem< GUM_SCALAR >::get(), gum::prm::PRMSystem< GUM_SCALAR >::get(), gum::prm::PRMSystem< GUM_SCALAR >::getArray(), gum::prm::PRMSystem< GUM_SCALAR >::getArrayType(), gum::prm::PRMSystem< GUM_SCALAR >::getArrayType(), gum::prm::PRMAggregate< GUM_SCALAR >::getCastDescendant(), gum::prm::PRMFormAttribute< GUM_SCALAR >::getCastDescendant(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::getCastDescendant(), gum::prm::PRMSystem< GUM_SCALAR >::groundedBN(), gum::prm::PRMClass< GUM_SCALAR >::inheritAggregates(), gum::prm::PRMSystem< GUM_SCALAR >::isArray(), gum::prm::PRMClass< GUM_SCALAR >::isCastDescendant(), gum::prm::PRMSystem< GUM_SCALAR >::isInstance(), name(), gum::prm::PRMType::name(), gum::prm::PRMFormAttribute< GUM_SCALAR >::newFactory(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::newFactory(), operator!=(), operator<<(), gum::prm::PRMClass< GUM_SCALAR >::operator=(), operator==(), gum::prm::PRMType::operator==(), gum::prm::PRMClass< GUM_SCALAR >::operator[](), gum::prm::PRMClass< GUM_SCALAR >::operator[](), gum::prm::PRMClassElementContainer< GUM_SCALAR >::operator[](), gum::prm::PRMClassElementContainer< GUM_SCALAR >::operator[](), gum::prm::PRMInterface< GUM_SCALAR >::operator[](), gum::prm::PRMInterface< GUM_SCALAR >::operator[](), gum::prm::PRMClass< GUM_SCALAR >::overload(), gum::prm::PRMInterface< GUM_SCALAR >::overload(), gum::prm::PRMClassElementContainer< GUM_SCALAR >::PRMClassElementContainterConstIterator, gum::prm::PRMFormAttribute< GUM_SCALAR >::setAsCastDescendant(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::setAsCastDescendant(), gum::prm::PRMClassElementContainer< GUM_SCALAR >::setInputNode(), gum::prm::PRMClassElementContainer< GUM_SCALAR >::setOutputNode(), gum::prm::PRMFactory< GUM_SCALAR >::startClass(), gum::prm::PRMFactory< GUM_SCALAR >::startInterface(), and gum::prm::PRMFactory< GUM_SCALAR >::startSystem().
|
inherited |
|
overridevirtual |
Returns the PRM type of this object.
Implements gum::prm::PRMObject.
Definition at line 278 of file PRMInstance_tpl.h.
References gum::prm::PRMObject::INSTANCE.
To PRMObject are equal if they have the same name (which is unique).
Definition at line 69 of file PRMObject_inl.h.
References PRMObject(), _name_, and name().
|
private |
Copy operator. Don't use it.
Definition at line 273 of file PRMInstance_tpl.h.
References GUM_ERROR.
To PRMObject are equal if they have the same name (which is unique).
Definition at line 65 of file PRMObject_inl.h.
References PRMObject(), _name_, and name().
|
staticinherited |
Enumeration of the different types of objects handled by a PRM.
The "all" type is used to tell that we want any kind of PRMType (useful with iterators for example). No PRMObject will ever have "all" as type.
Definition at line 73 of file PRMObject_inl.h.
Referenced by gum::prm::PRMAggregate< GUM_SCALAR >::PRMAggregate(), gum::prm::PRMAggregate< GUM_SCALAR >::PRMAggregate(), gum::prm::PRMFormAttribute< GUM_SCALAR >::PRMFormAttribute(), gum::prm::PRMReferenceSlot< GUM_SCALAR >::PRMReferenceSlot(), gum::prm::PRMScalarAttribute< GUM_SCALAR >::PRMScalarAttribute(), gum::prm::PRMSlotChain< GUM_SCALAR >::PRMSlotChain(), gum::prm::PRMClassElement< GUM_SCALAR >::cast(), and gum::prm::decomposePath().
| Size gum::prm::PRMInstance< GUM_SCALAR >::size | ( | ) | const |
Returns the number of attributes in this PRMInstance<GUM_SCALAR>.
Definition at line 238 of file PRMInstance_tpl.h.
References _nodeIdMap_.
Referenced by _instantiateSlotChain_(), and gum::prm::StructuredInference< GUM_SCALAR >::_reduceAloneInstances_().
| PRMClass< GUM_SCALAR > & gum::prm::PRMInstance< GUM_SCALAR >::type | ( | ) |
Returns the type of this instance.
Definition at line 283 of file PRMInstance_tpl.h.
References _type_.
Referenced by PRMInstance(), gum::prm::__print_attribute__(), gum::prm::__print_instance__(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_buildHashKey_(), gum::prm::SVE< GUM_SCALAR >::_checkElimOrder_(), gum::prm::SVED< GUM_SCALAR >::_checkElimOrder_(), _copyAttributeCPF_(), _doInstantiate_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodes_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesDownward_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesDownward_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesUpward_(), gum::prm::SVED< GUM_SCALAR >::_eliminateNodesUpward_(), gum::prm::SVE< GUM_SCALAR >::_eliminateNodesWithEvidence_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_fromChild_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_fromParent_(), gum::prm::StructuredBayesBall< GUM_SCALAR >::_getSC_(), gum::prm::PRMSystem< GUM_SCALAR >::_groundAttr_(), gum::prm::PRMSystem< GUM_SCALAR >::_groundRef_(), gum::prm::PRMSystem< double >::_groundTensor_(), gum::prm::InstanceBayesNet< GUM_SCALAR >::_init_(), gum::prm::SVED< GUM_SCALAR >::_initLiftedNodes_(), gum::prm::SVED< GUM_SCALAR >::_initReqSets_(), gum::prm::SVE< GUM_SCALAR >::_insertLiftedNodes_(), gum::prm::StructuredInference< GUM_SCALAR >::_insertNodeInElimLists_(), gum::prm::StructuredInference< GUM_SCALAR >::_reduceAloneInstances_(), gum::prm::SVE< GUM_SCALAR >::_variableElimination_(), add(), gum::prm::PRMSystem< GUM_SCALAR >::add(), get(), and get().
| const PRMClass< GUM_SCALAR > & gum::prm::PRMInstance< GUM_SCALAR >::type | ( | ) | const |
Returns the type of this instance.
Definition at line 288 of file PRMInstance_tpl.h.
References _type_.
|
private |
A bijection used for MultiDim handling.
Definition at line 538 of file PRMInstance.h.
Referenced by _copyAggregates_(), _copyAttribute_(), _instantiateSlotChain_(), and bijection().
|
private |
True if this instance has been instantiated.
Definition at line 516 of file PRMInstance.h.
Referenced by PRMInstance(), and instantiate().
|
privateinherited |
Definition at line 193 of file PRMObject.h.
Referenced by PRMObject(), PRMObject(), PRMObject(), name(), name(), operator!=(), operator=(), and operator==().
|
private |
The gum::prm::PRMAttribute<GUM_SCALAR> and gum::prm::PRMAggregate<GUM_SCALAR> of this PRMInstance<GUM_SCALAR>.
Definition at line 523 of file PRMInstance.h.
Referenced by ~PRMInstance(), _copyAggregates_(), _copyAttribute_(), _doInstantiate_(), begin(), begin(), end(), end(), exists(), get(), get(), get(), get(), and size().
|
private |
Mapping between the gum::prm::PRMReferenceSlot and gum::prm::PRMSlotChain<GUM_SCALAR> in type / and the PRMInstance<GUM_SCALAR> associated with it.
Definition at line 528 of file PRMInstance.h.
Referenced by ~PRMInstance(), _addReferingInstance_(), _doInstantiate_(), _instantiateSlotChain_(), add(), begin(), begin(), getInstance(), and getInstances().
|
private |
The set of pair (instance, attribute) referring an attribute of this instance.
Definition at line 535 of file PRMInstance.h.
Referenced by ~PRMInstance(), _addReferingInstance_(), beginInvRef(), beginInvRef(), endInvRef(), endInvRef(), getRefAttr(), getRefAttr(), and hasRefAttr().
|
private |
The type of this PRMInstance<GUM_SCALAR>.
Definition at line 519 of file PRMInstance.h.
Referenced by PRMInstance(), PRMInstance(), exists(), type(), and type().