50#ifndef GUM_MULTIDIMBIJARRAY_H
51#define GUM_MULTIDIMBIJARRAY_H
56#include <initializer_list>
70 template <
typename GUM_SCALAR >
153 virtual void fill(
const GUM_SCALAR& d)
const;
161 virtual void populate(
const std::vector< GUM_SCALAR >& v)
const;
169 virtual void populate(std::initializer_list< GUM_SCALAR > l)
const;
177 virtual const std::string&
name()
const;
203#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Set of pairs of elements with fast search for both elements.
Set of pairs of elements with fast search for both elements.
Base class for discrete random variable.
Class for assigning/browsing values to tuples of discrete variables.
Multidimensional matrix stored as an array in memory.
Decorator of a MultiDimArray, using a bijection over the variables.
virtual void set(const Instantiation &i, const GUM_SCALAR &value) const
virtual void populate(const std::vector< GUM_SCALAR > &v) const
This will raise an exception: you can't change the variables in a MultiDimBijArray.
MultiDimBijArray(const VarBijection &bijection, const MultiDimArray< GUM_SCALAR > &array)
Class constructor.
MultiDimBijArray< GUM_SCALAR > & operator=(const MultiDimBijArray< GUM_SCALAR > &from)
virtual GUM_SCALAR & get_(const Instantiation &i) const
Return a data, given a Instantiation.
virtual void replace_(const DiscreteVariable *x, const DiscreteVariable *y)
Replace variable x by y.
virtual const std::string & name() const
Returns the real name of the multiDim implementation.
std::string _name_
The class name.
virtual void commitMultipleChanges_()
Synchronize content after MultipleChanges.
Bijection< const DiscreteVariable *, const DiscreteVariable * > VarBijection
virtual MultiDimBijArray< GUM_SCALAR > * newFactory() const
Class constructor.
virtual GUM_SCALAR get(const Instantiation &i) const
Returns the value pointed by i.
const MultiDimArray< GUM_SCALAR > & _array_
The true data.
virtual Size realSize() const
Returns the real number of parameters used for this table.
virtual void erase(const DiscreteVariable &v)
This will raise an exception: you can't change the variables in a MultiDimBijArray.
virtual ~MultiDimBijArray()
Class destructor.
virtual void add(const DiscreteVariable &v)
This will raise an exception: you can't change the variables in a MultiDimBijArray.
virtual void fill(const GUM_SCALAR &d) const
This will raise an exception: you can't change the data.
MultiDimWithOffset()
Class constructor.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Header of the MultiDimArray class.
Implementation of the MultiDimBijArray class.
gum is the global namespace for all aGrUM entities