![]() |
aGrUM 3.1.1
a C++ library for (probabilistic) graphical models
|
Abstract base class for all multi dimensionnal containers. More...
#include <agrum/base/multidim/multiDimContainer.h>
Public Member Functions | |
Constructors / Destructors | |
| MultiDimContainer () | |
| Default constructor. | |
| MultiDimContainer (const MultiDimContainer< GUM_ELEMENT > &src) | |
| Copy constructor. | |
| MultiDimContainer & | operator= (const MultiDimContainer< GUM_ELEMENT > &src) |
| Default constructor. | |
| MultiDimContainer (MultiDimContainer< GUM_ELEMENT > &&) | |
| Class move constructor. | |
| MultiDimContainer & | operator= (MultiDimContainer< GUM_ELEMENT > &&src) |
| Default constructor. | |
| ~MultiDimContainer () override | |
| Destructor. | |
Accessors / Modifiers | |
| virtual void | set (const Instantiation &i, const GUM_ELEMENT &value) const |
| Changes the value pointed by i. | |
| virtual GUM_ELEMENT | get (const Instantiation &i) const |
| Returns the value pointed by i. | |
| GUM_ELEMENT | operator[] (const Instantiation &i) const |
| An [] operator using a Instantiation as argument. | |
| virtual void | fill (const GUM_ELEMENT &d) const =0 |
| Fill the table with d. | |
| virtual void | populate (const std::vector< GUM_ELEMENT > &v) const |
| Automatically fills this MultiDimContainer with the values in v. | |
| virtual void | populate (std::initializer_list< GUM_ELEMENT > l) const |
| Automatically fills this MultiDimContainer with the values in l. | |
Copy methods. | |
| virtual void | copyFrom (const MultiDimContainer< GUM_ELEMENT > &src) const |
| Basic copy of a MultiDimContainer. | |
| virtual void | copyFrom (const MultiDimContainer< GUM_ELEMENT > &src, Instantiation *p_i) const |
| Basic copy of a MultiDimContainer. | |
| virtual void | extractFrom (const MultiDimContainer< GUM_ELEMENT > &src, const Instantiation &mask) |
| Basic extraction of a MultiDimContainer. | |
| virtual const MultiDimImplementation< GUM_ELEMENT > * | content () const =0 |
| Returns the implementation for this object (may be *this). | |
| virtual MultiDimImplementation< GUM_ELEMENT > * | content ()=0 |
| Returns the implementation for this object (may be *this). | |
| MultiDimAdressable & | getMasterRef () override |
| In order to insure the dereference for decorators, we need to virtualize the access to master pointer. | |
| const MultiDimAdressable & | getMasterRef () const override |
| In order to insure the dereference for decorators, we need to virtualize the access to master pointer. | |
| virtual void | copy (const MultiDimContainer< GUM_ELEMENT > &src) |
| Removes all variables in this MultiDimContainer and copy the content of src, variables included. | |
| virtual MultiDimContainer< GUM_ELEMENT > * | newFactory () const =0 |
| Creates an empty clone of this MultiDimContainer. | |
Various methods. | |
| virtual std::string | toString () const |
| Returns a representation of this MultiDimContainer. | |
| std::string | toString (const Instantiation *i) const override=0 |
| Display the internal representation of i. | |
| bool | operator== (const MultiDimContainer< GUM_ELEMENT > &p) const |
| Test if this MultiDimContainer is equal to p. | |
| virtual void | apply (std::function< GUM_ELEMENT(GUM_ELEMENT) > f) const |
| Apply a function on every element of the container. | |
| virtual GUM_ELEMENT | reduce (std::function< GUM_ELEMENT(GUM_ELEMENT, GUM_ELEMENT) > f, GUM_ELEMENT base) const |
| compute lfold for this container | |
Fast large modifications in structures. | |
| virtual void | beginMultipleChanges ()=0 |
| Call this method before doing important changes in this MultiDimContainer. | |
| virtual void | endMultipleChanges ()=0 |
| Call this method after doing important changes in this MultiDimContainer. | |
| virtual void | endMultipleChanges (const GUM_ELEMENT &v)=0 |
| Call this method after doing important changes in this MultiDimContainer. | |
Slave management and extension due to slave management | |
| virtual bool | registerSlave (Instantiation &i)=0 |
| Register i as a slave of this MultiDimAdressable. | |
| virtual bool | unregisterSlave (Instantiation &i)=0 |
| Unregister i as a slave of this MultiDimAdressable. | |
| virtual void | changeNotification (const Instantiation &i, const DiscreteVariable *const var, Idx oldval, Idx newval)=0 |
| Listen to changes in a given Instantiation. | |
| virtual void | setFirstNotification (const Instantiation &i)=0 |
| Listen to setFirst in a given Instantiation. | |
| virtual void | setLastNotification (const Instantiation &i)=0 |
| Listen to setLast in a given Instantiation. | |
| virtual void | setIncNotification (const Instantiation &i)=0 |
| Listen to increment in a given Instantiation. | |
| virtual void | setDecNotification (const Instantiation &i)=0 |
| Listen to increment in each recorded Instantiation. | |
| virtual void | setChangeNotification (const Instantiation &i)=0 |
| Listen to an assignment of a value in a Instantiation. | |
Accessors / Modifiers | |
| virtual Idx | nbrDim () const =0 |
| Returns the number of vars in the multidimensional container. | |
| virtual Size | domainSize () const =0 |
| Returns the product of the variables domain size. | |
| virtual void | add (const DiscreteVariable &v)=0 |
| Adds a new var to the variables of the multidimensional matrix. | |
| virtual void | erase (const DiscreteVariable &v)=0 |
| Removes a var from the variables of the multidimensional matrix. | |
| virtual const Sequence< const DiscreteVariable * > & | variablesSequence () const =0 |
| Returns a const ref to the sequence of DiscreteVariable*. | |
| virtual const DiscreteVariable & | variable (Idx i) const =0 |
| Returns a const ref to the ith var. | |
| virtual const DiscreteVariable & | variable (std::string_view name) const =0 |
| Returns the variable with the name. | |
| virtual Idx | pos (const DiscreteVariable &v) const =0 |
| Returns the index of a variable. | |
| virtual bool | contains (const DiscreteVariable &v) const =0 |
| Returns true if var is in *this. | |
| virtual bool | empty () const =0 |
| Returns true if no var is in *this. | |
| void | replace (const DiscreteVariable &x, const DiscreteVariable &y) |
| Replace variables in this multidim. | |
Protected Member Functions | |
| virtual GUM_ELEMENT & | get_ (const Instantiation &i) const =0 |
| Return a data, given a Instantiation. | |
| virtual void | replace_ (const DiscreteVariable *x, const DiscreteVariable *y)=0 |
| This is called by MultiDimContainer::replace() to proceed with the replacing between x and y. | |
Abstract base class for all multi dimensionnal containers.
The MultiDimContainer is an abstract base class for all multi dimensionnal container of GUM_ELEMENT. Its purpose is to deal with GUM_ELEMENT access with no regard to how the storage is done (tree, matrix...).
MultiDimContainer is considered as const if its dimension does not change. Contained values may change even in a const MultiDimContainer :
| GUM_ELEMENT | The type of the scalar stored in this multidimensional matrix. |
Definition at line 113 of file multiDimContainer.h.
| gum::MultiDimContainer< GUM_ELEMENT >::MultiDimContainer | ( | ) |
Default constructor.
Definition at line 67 of file multiDimContainer_tpl.h.
References gum::MultiDimAdressable::MultiDimAdressable(), and MultiDimContainer().
Referenced by MultiDimContainer(), MultiDimContainer(), MultiDimContainer(), gum::MultiDimDecorator< GUM_ELEMENT >::MultiDimDecorator(), gum::MultiDimDecorator< GUM_ELEMENT >::MultiDimDecorator(), gum::MultiDimImplementation< GUM_ELEMENT >::MultiDimImplementation(), gum::MultiDimImplementation< GUM_ELEMENT >::MultiDimImplementation(), ~MultiDimContainer(), gum::aggregator::MultiDimAggregator< GUM_ELEMENT >::aggregatorName(), gum::MultiDimDecorator< GUM_ELEMENT >::apply(), gum::MultiDimDecorator< GUM_ELEMENT >::beginMultipleChanges(), gum::MultiDimDecorator< GUM_ELEMENT >::changeNotification(), content(), copy(), copyFrom(), copyFrom(), gum::MultiDimDecorator< GUM_ELEMENT >::domainSize(), gum::MultiDimDecorator< GUM_ELEMENT >::empty(), gum::MultiDimDecorator< GUM_ELEMENT >::endMultipleChanges(), gum::MultiDimDecorator< GUM_ELEMENT >::endMultipleChanges(), gum::MultiDimDecorator< GUM_ELEMENT >::erase(), extractFrom(), fill(), gum::MultiDimDecorator< GUM_ELEMENT >::fill(), gum::MultiDimDecorator< GUM_ELEMENT >::get(), gum::MultiDimDecorator< GUM_ELEMENT >::nbrDim(), gum::aggregator::MultiDimAggregator< GUM_ELEMENT >::newFactory(), newFactory(), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *)::newFactory(), operator=(), operator=(), gum::MultiDimDecorator< GUM_ELEMENT >::operator=(), operator==(), gum::MultiDimDecorator< GUM_ELEMENT >::populate(), gum::MultiDimDecorator< GUM_ELEMENT >::pos(), gum::MultiDimDecorator< GUM_ELEMENT >::reduce(), gum::MultiDimDecorator< GUM_ELEMENT >::registerSlave(), gum::MultiDimDecorator< GUM_ELEMENT >::set(), gum::MultiDimDecorator< GUM_ELEMENT >::setChangeNotification(), gum::MultiDimDecorator< GUM_ELEMENT >::setDecNotification(), gum::MultiDimDecorator< GUM_ELEMENT >::setFirstNotification(), gum::MultiDimDecorator< GUM_ELEMENT >::setIncNotification(), gum::MultiDimDecorator< GUM_ELEMENT >::setLastNotification(), toString(), gum::MultiDimDecorator< GUM_ELEMENT >::toString(), gum::MultiDimDecorator< GUM_ELEMENT >::unregisterSlave(), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *)::unregisterSlave(), gum::MultiDimDecorator< GUM_ELEMENT >::variable(), gum::MultiDimDecorator< GUM_ELEMENT >::variable(), and gum::MultiDimDecorator< GUM_ELEMENT >::variablesSequence().
| gum::MultiDimContainer< GUM_ELEMENT >::MultiDimContainer | ( | const MultiDimContainer< GUM_ELEMENT > & | src | ) |
Copy constructor.
| src | The MultiDimContainer to copy. |
Definition at line 73 of file multiDimContainer_tpl.h.
References gum::MultiDimAdressable::MultiDimAdressable(), and MultiDimContainer().
| gum::MultiDimContainer< GUM_ELEMENT >::MultiDimContainer | ( | MultiDimContainer< GUM_ELEMENT > && | from | ) |
Class move constructor.
Definition at line 60 of file multiDimContainer_tpl.h.
References gum::MultiDimAdressable::MultiDimAdressable(), and MultiDimContainer().
|
override |
Destructor.
Definition at line 96 of file multiDimContainer_tpl.h.
References MultiDimContainer().
|
pure virtualinherited |
Adds a new var to the variables of the multidimensional matrix.
| v | The new var. |
| DuplicateElement | Raised if the variable already belongs to the sequence of variables. |
| OperationNotAllowed | Raised if this object is non mutable. |
Implemented in gum::Instantiation, gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, gum::MultiDimSparse< GUM_ELEMENT >, gum::MultiDimWithOffset< GUM_ELEMENT >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::MultiDimContainer< GUM_ELEMENT >::copy(), and gum::operator<<().
|
virtual |
Apply a function on every element of the container.
| f | the function to apply |
Reimplemented in gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, and gum::MultiDimDecorator< GUM_SCALAR >.
Definition at line 200 of file multiDimContainer_tpl.h.
References gum::Instantiation::end(), get(), set(), and gum::Instantiation::setFirst().
|
pure virtual |
Call this method before doing important changes in this MultiDimContainer.
Implemented in gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by copy(), and extractFrom().
|
pure virtualinherited |
Listen to changes in a given Instantiation.
| i | The Instantiation to listen. |
| var | The changed dim. |
| oldval | The old value. |
| newval | The changed value. |
Implemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
|
pure virtualinherited |
Returns true if var is in *this.
| v | A DiscreteVariable. |
Implemented in gum::Instantiation, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by replace().
|
pure virtual |
Returns the implementation for this object (may be *this).
Implemented in gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::Tensor< GUM_SCALAR >::Tensor(), getMasterRef(), and getMasterRef().
|
pure virtual |
Returns the implementation for this object (may be *this).
Implemented in gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), and gum::VariableSet &)< GUM_ELEMENT >.
References gum::MultiDimAdressable::MultiDimAdressable(), and MultiDimContainer().
|
virtual |
Removes all variables in this MultiDimContainer and copy the content of src, variables included.
| src | The MultiDimContainer to copy. |
Reimplemented in gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, and gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >.
Definition at line 284 of file multiDimContainer_tpl.h.
References MultiDimContainer(), gum::MultiDimInterface::add(), beginMultipleChanges(), endMultipleChanges(), gum::MultiDimInterface::erase(), gum::MultiDimInterface::nbrDim(), and gum::MultiDimInterface::variable().
Referenced by gum::TreeRegress< GUM_ELEMENT, COMBINEOPERATOR, PROJECTOPERATOR, TerminalNodePolicy >::compute().
|
virtual |
Basic copy of a MultiDimContainer.
This method is virtual because it should be optimized in certain MultiDimContainer.
| src | The MultiDimContainer src which values are copied. This is a full copy with no verification of dimensions. |
| OperationNotAllowed | Raised if src does not have the same domain size than this MultiDimContainer. |
Reimplemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_ELEMENT >, and gum::MultiDimICIModel< GUM_SCALAR >.
Definition at line 266 of file multiDimContainer_tpl.h.
References MultiDimContainer(), gum::MultiDimInterface::domainSize(), gum::Instantiation::end(), GUM_ERROR, set(), and gum::Instantiation::setFirst().
Referenced by gum::Tensor< GUM_SCALAR >::Tensor(), gum::MultiDimArray< GUM_ELEMENT >::copyFrom(), and gum::MultiDimICIModel< GUM_SCALAR >::externalWeight().
|
virtual |
Basic copy of a MultiDimContainer.
This method is virtual because it should be optimized in certain MultiDimContainer.
| src | The MultiDimContainer src which values are copied. |
| p_i | Give the order to iterate in this MultiDimContainer during the copy (nullptr will correctly copy if this is a reorganization of src). |
| OperationNotAllowed | Raised if src does not have the same domain size than this MultiDimContainer. |
Reimplemented in gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, and gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >.
Definition at line 220 of file multiDimContainer_tpl.h.
References MultiDimContainer(), gum::MultiDimInterface::domainSize(), gum::Instantiation::end(), GUM_ERROR, and gum::Instantiation::setFirst().
|
pure virtualinherited |
Returns the product of the variables domain size.
Implemented in gum::Instantiation, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::MultiDimContainer< GUM_ELEMENT >::copyFrom(), gum::MultiDimContainer< GUM_ELEMENT >::copyFrom(), gum::MultiDimICIModel< GUM_ELEMENT >::copyFrom(), gum::MultiDimContainer< GUM_ELEMENT >::operator==(), and gum::MultiDimContainer< GUM_ELEMENT >::populate().
|
pure virtualinherited |
Returns true if no var is in *this.
Implemented in gum::Instantiation, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::Tensor< GUM_SCALAR >::Tensor().
|
pure virtual |
Call this method after doing important changes in this MultiDimContainer.
Implemented in gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by copy().
|
pure virtual |
Call this method after doing important changes in this MultiDimContainer.
Implemented in gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), and gum::VariableSet &)< GUM_ELEMENT >.
|
pure virtualinherited |
Removes a var from the variables of the multidimensional matrix.
| OperationNotAllowed | Raised if this object is non mutable. |
| NotFound | Raised if v does not belong to this. |
Implemented in gum::Instantiation, gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, gum::MultiDimSparse< GUM_ELEMENT >, gum::MultiDimWithOffset< GUM_ELEMENT >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::MultiDimContainer< GUM_ELEMENT >::copy(), gum::MultiDimContainer< GUM_ELEMENT >::extractFrom(), and gum::operator>>().
|
virtual |
Basic extraction of a MultiDimContainer.
This method is virtual because it should be optimized in certain MultiDimContainer.
| src | The MultiDimContainer src which datas are copied. |
| mask | partial instantiation of variables of the Tensor : the |
extraction will concern every variable not in the instantiation and the copy of data will use the (relevant) values in this instantiation.
Definition at line 242 of file multiDimContainer_tpl.h.
References MultiDimContainer(), beginMultipleChanges(), gum::MultiDimInterface::erase(), gum::MultiDimInterface::nbrDim(), and gum::MultiDimInterface::variable().
|
pure virtual |
Fill the table with d.
| d | The value used to fill this MultiDimContainer. |
Implemented in gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimReadOnly< GUM_ELEMENT >, gum::MultiDimSparse< GUM_ELEMENT >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
References MultiDimContainer().
|
virtual |
Returns the value pointed by i.
| i | An Instantiation of this MultiDimContainer. |
Reimplemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimLogit< GUM_SCALAR >, gum::MultiDimNoisyAND< GUM_SCALAR >, gum::MultiDimNoisyORCompound< GUM_SCALAR >, gum::MultiDimNoisyORNet< GUM_SCALAR >, and gum::MultiDimSparse< GUM_ELEMENT >.
Definition at line 118 of file multiDimContainer_tpl.h.
References get_().
Referenced by apply(), and operator[]().
|
protectedpure virtual |
Return a data, given a Instantiation.
Note that get allows to change a value in the container. The method is tagged as const since a multidim is not const if its dimension changed.
| i | The instantiation used to find the data. |
Implemented in gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimReadOnly< GUM_ELEMENT >, gum::MultiDimReadOnly< GUM_SCALAR >, gum::MultiDimSparse< GUM_ELEMENT >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
Referenced by get(), and set().
|
overridevirtual |
In order to insure the dereference for decorators, we need to virtualize the access to master pointer.
Implements gum::MultiDimAdressable.
Definition at line 307 of file multiDimContainer_tpl.h.
References gum::MultiDimAdressable::MultiDimAdressable(), and content().
|
overridevirtual |
In order to insure the dereference for decorators, we need to virtualize the access to master pointer.
Implements gum::MultiDimAdressable.
Definition at line 302 of file multiDimContainer_tpl.h.
References gum::MultiDimAdressable::MultiDimAdressable(), and content().
|
pure virtualinherited |
Returns the number of vars in the multidimensional container.
Implemented in gum::Instantiation, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::MultiDimContainer< GUM_ELEMENT >::copy(), gum::MultiDimContainer< GUM_ELEMENT >::extractFrom(), gum::MultiDimContainer< GUM_ELEMENT >::operator==(), and gum::MultiDimContainer< GUM_ELEMENT >::toString().
|
nodiscardpure virtual |
Creates an empty clone of this MultiDimContainer.
This method creates a clone of this object, withouth its content (including variable), you must use this method if you want to ensure that the generated object has the same type than the object containing the called newFactory() For example :
Then x is a MultiDimArray<double>*.
Implemented in gum::aggregator::Amplitude< GUM_SCALAR >, gum::aggregator::And< GUM_SCALAR >, gum::aggregator::Count< GUM_SCALAR >, gum::aggregator::Exists< GUM_SCALAR >, gum::aggregator::Forall< GUM_SCALAR >, gum::aggregator::Max< GUM_SCALAR >, gum::aggregator::Median< GUM_SCALAR >, gum::aggregator::Min< GUM_SCALAR >, gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::aggregator::Or< GUM_SCALAR >, gum::aggregator::Sum< GUM_SCALAR >, gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, gum::MultiDimLogit< GUM_SCALAR >, gum::MultiDimNoisyAND< GUM_SCALAR >, gum::MultiDimNoisyORCompound< GUM_SCALAR >, gum::MultiDimNoisyORNet< GUM_SCALAR >, gum::MultiDimReadOnly< GUM_ELEMENT >, gum::MultiDimReadOnly< GUM_SCALAR >, gum::MultiDimSparse< GUM_ELEMENT >, gum::MultiDimWithOffset< GUM_ELEMENT >, gum::Tensor< GUM_SCALAR >, gum::Tensor< GUM_ELEMENT >, and gum::VariableSet &)< GUM_ELEMENT >.
References MultiDimContainer().
| MultiDimContainer< GUM_ELEMENT > & gum::MultiDimContainer< GUM_ELEMENT >::operator= | ( | const MultiDimContainer< GUM_ELEMENT > & | src | ) |
Default constructor.
Definition at line 80 of file multiDimContainer_tpl.h.
References MultiDimContainer(), and gum::MultiDimAdressable::operator=().
Referenced by gum::MultiDimDecorator< GUM_ELEMENT >::operator=().
| MultiDimContainer< GUM_ELEMENT > & gum::MultiDimContainer< GUM_ELEMENT >::operator= | ( | MultiDimContainer< GUM_ELEMENT > && | src | ) |
Default constructor.
Definition at line 87 of file multiDimContainer_tpl.h.
References MultiDimContainer(), and gum::MultiDimAdressable::operator=().
| bool gum::MultiDimContainer< GUM_ELEMENT >::operator== | ( | const MultiDimContainer< GUM_ELEMENT > & | p | ) | const |
Test if this MultiDimContainer is equal to p.
| p | The MultiDimContainer to test for equality. |
Definition at line 148 of file multiDimContainer_tpl.h.
References MultiDimContainer(), gum::MultiDimInterface::domainSize(), gum::MultiDimInterface::nbrDim(), and gum::MultiDimInterface::variablesSequence().
| GUM_ELEMENT gum::MultiDimContainer< GUM_ELEMENT >::operator[] | ( | const Instantiation & | i | ) | const |
An [] operator using a Instantiation as argument.
| i | An Instantiation. |
Definition at line 103 of file multiDimContainer_tpl.h.
References get().
|
virtual |
Automatically fills this MultiDimContainer with the values in v.
The order used to fill this MultiDimContainer is the same as with an instantiation over it.
| v | Vector of values. |
| SizeError | Raised if v size's does not matches this MultiDimContainer domain size. |
Reimplemented in gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, and gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >.
Definition at line 172 of file multiDimContainer_tpl.h.
Referenced by gum::prm::PRMFactory< GUM_SCALAR >::setRawCPFByLines().
|
virtual |
Automatically fills this MultiDimContainer with the values in l.
The order used to fill this MultiDimContainer is the same as with an instantiation over it.
| l | contains the data. |
| SizeError | Raised if l size's does not matches this MultiDimContainer domain size. |
Reimplemented in gum::MultiDimBijArray< GUM_ELEMENT >, and gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >.
Definition at line 186 of file multiDimContainer_tpl.h.
References gum::MultiDimInterface::domainSize(), GUM_ERROR, and set().
|
pure virtualinherited |
Returns the index of a variable.
| v | The variable for which the index is returned. |
| NotFound | Raised if v is not in this multidimensional matrix. |
Implemented in gum::Instantiation, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
|
virtual |
compute lfold for this container
| f | the function to apply |
| base | the initial value |
Reimplemented in gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, and gum::MultiDimDecorator< GUM_SCALAR >.
Definition at line 208 of file multiDimContainer_tpl.h.
|
pure virtualinherited |
Register i as a slave of this MultiDimAdressable.
| i | The Instantiation to enslave. |
Implemented in gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, gum::MultiDimWithOffset< GUM_ELEMENT >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::Instantiation::actAsSlave().
|
inherited |
Replace variables in this multidim.
If x is in this MultiDim and y has the same domain size, then x will be replace by y in this MultiDim.
| x | The variable in this which will be replaced. |
| y | The variable replacing y. |
| NotFound | Raised if x does not belong to this MultiDim. |
| OperationNotAllowed | If y and x are not interchangeable. |
| DuplicateElement | If y is already in this MultiDim. |
Definition at line 57 of file multiDimInterface_inl.h.
References contains(), gum::DiscreteVariable::domainSize(), GUM_ERROR, and replace_().
|
protectedpure virtualinherited |
This is called by MultiDimContainer::replace() to proceed with the replacing between x and y.
This is called only when everything have been checked.
| x | The variable to replace in |
| y | The second variable to swap. |
Implemented in gum::Instantiation, gum::MultiDimArray< GUM_ELEMENT >, gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, gum::MultiDimSparse< GUM_ELEMENT >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by replace().
|
virtual |
Changes the value pointed by i.
| i | An Instantiation of this MultiDimContainer. |
| value | The new value. |
Reimplemented in gum::MultiDimBijArray< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimReadOnly< GUM_ELEMENT >, gum::MultiDimReadOnly< GUM_SCALAR >, and gum::MultiDimSparse< GUM_ELEMENT >.
Definition at line 110 of file multiDimContainer_tpl.h.
References get_().
Referenced by apply(), copyFrom(), and populate().
|
pure virtualinherited |
Listen to an assignment of a value in a Instantiation.
| i | The Instantiation to listen. |
Implemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
|
pure virtualinherited |
Listen to increment in each recorded Instantiation.
| i | The Instantiation to listen. |
Implemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
|
pure virtualinherited |
Listen to setFirst in a given Instantiation.
| i | The Instantiation to listen. |
Implemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
|
pure virtualinherited |
Listen to increment in a given Instantiation.
| i | The Instantiation to listen. |
Implemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
|
pure virtualinherited |
Listen to setLast in a given Instantiation.
| i | The Instantiation to listen. |
Implemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< bool >, gum::MultiDimFunctionGraph< bool, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< double >, gum::MultiDimFunctionGraph< double, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< gum::ActionSet, gum::SetTerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimFunctionGraph< Size >, gum::MultiDimFunctionGraph< Size, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
|
virtual |
Returns a representation of this MultiDimContainer.
Reimplemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::aggregator::MultiDimAggregator< GUM_SCALAR >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_ELEMENT >, gum::MultiDimICIModel< GUM_SCALAR >, gum::MultiDimLogit< GUM_SCALAR >, gum::MultiDimNoisyAND< GUM_SCALAR >, gum::MultiDimNoisyORCompound< GUM_SCALAR >, gum::MultiDimNoisyORNet< GUM_SCALAR >, gum::Tensor< GUM_SCALAR >, and gum::Tensor< GUM_ELEMENT >.
Definition at line 125 of file multiDimContainer_tpl.h.
References gum::MultiDimInterface::nbrDim().
Referenced by gum::MultiDimContainer< double >::copy().
|
overridepure virtual |
Display the internal representation of i.
Implements gum::MultiDimAdressable.
Implemented in gum::aggregator::MultiDimAggregator< GUM_ELEMENT >, gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimFunctionGraph< GUM_ELEMENT, TerminalNodePolicy >, gum::MultiDimFunctionGraph< GUM_ELEMENT, ExactTerminalNodePolicy >, gum::MultiDimICIModel< GUM_ELEMENT >, and gum::MultiDimWithOffset< GUM_ELEMENT >.
References MultiDimContainer().
|
pure virtualinherited |
Unregister i as a slave of this MultiDimAdressable.
| i | The Instantiation to free. |
Implemented in gum::MultiDimBucket< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, gum::MultiDimWithOffset< GUM_ELEMENT >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::MultiDimBucket< GUM_ELEMENT >::unregisterSlave().
|
pure virtualinherited |
Returns a const ref to the ith var.
param i An index of this multidimensional matrix.
| NotFound | Raised if i does not reference a variable in this multidimensional matrix. |
Implemented in gum::Instantiation, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::MultiDimContainer< GUM_ELEMENT >::copy(), gum::MultiDimContainer< double >::copyFrom(), and gum::MultiDimContainer< GUM_ELEMENT >::extractFrom().
|
pure virtualinherited |
Returns the variable with the name.
| name | The index of the variable |
| NotFound | Raised if the element cannot be found. |
Implemented in gum::Instantiation, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), and gum::VariableSet &)< GUM_ELEMENT >.
|
pure virtualinherited |
Returns a const ref to the sequence of DiscreteVariable*.
Implemented in gum::Instantiation, gum::MultiDimDecorator< GUM_ELEMENT >, gum::MultiDimDecorator< GUM_SCALAR >, gum::MultiDimImplementation< GUM_ELEMENT >, gum::MultiDimImplementation< bool >, gum::MultiDimImplementation< double >, gum::MultiDimImplementation< gum::ActionSet >, gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const HashTable< const DiscreteVariable *, Idx > &), gum::MultiDimImplementation< GUM_ELEMENT > *(*)(const MultiDimImplementation< GUM_ELEMENT > *, const MultiDimImplementation< GUM_ELEMENT > *), gum::MultiDimImplementation< GUM_SCALAR >, gum::MultiDimImplementation< Size >, gum::MultiDimImplementation< std::string >, and gum::VariableSet &)< GUM_ELEMENT >.
Referenced by gum::Tensor< GUM_SCALAR >::Tensor(), gum::Instantiation::_init_(), and gum::MultiDimContainer< GUM_ELEMENT >::operator==().