56 template <
typename GUM_ELEMENT >
66 template <
typename GUM_ELEMENT >
77 template <
typename GUM_ELEMENT >
88 template <
typename GUM_ELEMENT >
93 template <
typename GUM_ELEMENT >
99 template <
typename GUM_ELEMENT >
104 template <
typename GUM_ELEMENT >
109 template <
typename GUM_ELEMENT >
114 template <
typename GUM_ELEMENT >
119 template <
typename GUM_ELEMENT >
124 template <
typename GUM_ELEMENT >
129 template <
typename GUM_ELEMENT >
134 template <
typename GUM_ELEMENT >
143 template <
typename GUM_ELEMENT >
145 const GUM_ELEMENT& value)
const {
149 template <
typename GUM_ELEMENT >
154 template <
typename GUM_ELEMENT >
159 template <
typename GUM_ELEMENT >
164 template <
typename GUM_ELEMENT >
const T2 & second(const T1 &first) const
Base class for discrete random variable.
Class for assigning/browsing values to tuples of discrete variables.
bool isMaster(const MultiDimAdressable *m) const
Indicates whether m is the master of this instantiation.
Multidimensional matrix stored as an array in memory.
Decorator of a MultiDimArray, using a bijection over the variables.
GUM_ELEMENT & get_(const Instantiation &i) const override
Return a data, given a Instantiation.
void set(const Instantiation &i, const GUM_ELEMENT &value) const override
MultiDimBijArray< GUM_ELEMENT > * newFactory() const override
Class constructor.
const std::string & name() const override
Returns the real name of the multiDim implementation.
GUM_ELEMENT get(const Instantiation &i) const override
Returns the value pointed by i.
std::string _name_
The class name.
void add(const DiscreteVariable &v) override
This will raise an exception: you can't change the variables in a MultiDimBijArray.
void commitMultipleChanges_() override
Synchronize content after MultipleChanges.
Bijection< const DiscreteVariable *, const DiscreteVariable * > VarBijection
Size realSize() const override
Returns the real number of parameters used for this table.
const MultiDimArray< GUM_ELEMENT > & _array_
The true data.
MultiDimBijArray< GUM_ELEMENT > & operator=(const MultiDimBijArray< GUM_ELEMENT > &from)
~MultiDimBijArray() override
Class destructor.
MultiDimBijArray(const VarBijection &bijection, const MultiDimArray< GUM_ELEMENT > &array)
Class constructor.
void erase(const DiscreteVariable &v) override
This will raise an exception: you can't change the variables in a MultiDimBijArray.
void populate(const std::vector< GUM_ELEMENT > &v) const override
This will raise an exception: you can't change the variables in a MultiDimBijArray.
void replace_(const DiscreteVariable *x, const DiscreteVariable *y) override
This is called by MultiDimContainer::replace() to proceed with the replacing between x and y.
void fill(const GUM_ELEMENT &d) const override
This will raise an exception: you can't change the data.
const Sequence< const DiscreteVariable * > & variablesSequence() const override
Returns a const ref to the sequence of DiscreteVariable*.
void replace_(const DiscreteVariable *x, const DiscreteVariable *y) override
Replace variable x by y.
Size getOffs_(const Instantiation &i) const
Compute the offset of a Instantiation.
MultiDimWithOffset()
Class constructor.
HashTable< const Instantiation *, Size > offsets_
The position in the array of each slave Instantiation.
void add(const DiscreteVariable &v) override
Adds a new var to the variables of the multidimensional matrix.
Exception : operation not allowed.
#define GUM_ERROR(type, msg)
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Headers of the MultiDimBijArray class.
gum is the global namespace for all aGrUM entities