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