30 #ifndef GUM_MULTI_DIM_AGGREGATOR_H 31 #define GUM_MULTI_DIM_AGGREGATOR_H 36 namespace aggregator {
63 template <
typename GUM_SCALAR >
113 virtual GUM_SCALAR
get(
const Instantiation& i)
const override;
116 const std::string
toString()
const override;
155 const std::string&
name()
const override;
186 bool& stop_iteration)
const = 0;
190 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 195 template <
typename GUM_SCALAR >
virtual ~MultiDimAggregator()
Class destructor.
MultiDimAggregator()
Default constructor.
const std::string toString() const override
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
const std::string & name() const override
Returns the real name of the multiDimArray.
void setChangeNotification(const gum::Instantiation &) override
const std::string toString(const gum::Instantiation *i) const override
void setDecNotification(const gum::Instantiation &) override
virtual Idx _fold(const DiscreteVariable &v, Idx i1, Idx i2, bool &stop_iteration) const =0
_fold is applied on value i1 for variable v. the actual result for precedent applications is i2...
virtual std::string aggregatorName() const =0
Base class for discrete random variable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Abstract base class for all multi dimensionnal containers.
void copyFrom(const MultiDimContainer< GUM_SCALAR > &src) const override
Copy of a multiDimICIModel.
Abstract base class for all multi dimensionnal read only structure.
void changeNotification(const gum::Instantiation &, const gum::DiscreteVariable *const, gum::Idx, gum::Idx) override
<agrum/multidim/aggregators/multiDimAggregator.h>
Size realSize() const override
void setIncNotification(const gum::Instantiation &) override
void setFirstNotification(const gum::Instantiation &) override
virtual Idx _neutralElt() const =0
_neutralElt() is the result value for the first application of _fold
std::string toString() const
Give a string version of instantiation.
void setLastNotification(const gum::Instantiation &) override
Class for assigning/browsing values to tuples of discrete variables.
virtual Idx _buildValue(const gum::Instantiation &i) const
by default, _buildValue uses a "fold" scheme and the user has to implement _neutralElt and _fold but ...
virtual MultiDimContainer< GUM_SCALAR > * newFactory() const override=0
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()
Size Idx
Type for indexes.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
std::ostream & operator<<(std::ostream &s, const MultiDimAggregator< GUM_SCALAR > &ag)
For friendly displaying the content of the array.