31 #ifndef GUM_MULTIDIMBIJARRAY_H 32 #define GUM_MULTIDIMBIJARRAY_H 34 #include <initializer_list> 53 template <
typename GUM_SCALAR >
54 class MultiDimBijArray :
public MultiDimWithOffset< GUM_SCALAR > {
117 virtual void set(
const Instantiation& i,
const GUM_SCALAR& value)
const;
140 virtual void fill(
const GUM_SCALAR& d)
const;
148 virtual void populate(
const std::vector< GUM_SCALAR >& v)
const;
156 virtual void populate(std::initializer_list< GUM_SCALAR > l)
const;
164 virtual const std::string&
name()
const;
190 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 198 #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.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
std::string __name
The class name.
Base class for discrete random variable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
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.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual void _replace(const DiscreteVariable *x, const DiscreteVariable *y)
Replace variable x by y.