49#ifndef GUM_MULTI_DIM_AGGREGATOR_H
50#define GUM_MULTI_DIM_AGGREGATOR_H
82 template <
typename GUM_SCALAR >
135 std::string
toString()
const override;
172 const std::string&
name()
const override;
212#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
217 template <
typename GUM_SCALAR >
Base class for discrete random variable.
Class for assigning/browsing values to tuples of discrete variables.
std::string toString() const
Give a string version of instantiation.
Abstract base class for all multi dimensionnal containers.
MultiDimContainer()
Default constructor.
MultiDimReadOnly()
Default constructor.
<agrum/base/multidim/aggregators/multiDimAggregator.h>
std::string toString(const gum::Instantiation *i) const override
void copyFrom(const MultiDimContainer< GUM_SCALAR > &src) const override
Copy of a multiDimICIModel.
virtual ~MultiDimAggregator()
Class destructor.
void setFirstNotification(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 GUM_SCALAR get(const Instantiation &i) const override
void setChangeNotification(const gum::Instantiation &) override
bool isDecomposable() const
virtual MultiDimContainer< GUM_SCALAR > * newFactory() const override=0
This method creates a clone of this object, withouth its content (including variable),...
void setIncNotification(const gum::Instantiation &) override
virtual std::string aggregatorName() const =0
void changeNotification(const gum::Instantiation &, const gum::DiscreteVariable *const, gum::Idx, gum::Idx) override
std::string toString() const override
void setDecNotification(const gum::Instantiation &) override
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 ...
void setLastNotification(const gum::Instantiation &) override
MultiDimAggregator()
Default constructor.
Size realSize() const override
bool decomposable_
decomposable_ indicates if the aggregator can be decomposed
const std::string & name() const override
Returns the real name of the multiDimArray.
virtual Idx neutralElt_() const =0
neutralElt_() is the result value for the first application of fold_
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Size Idx
Type for indexes.
Header of the MultiDimReadOnly class.
Aggregators are functional description of CPTs.
std::ostream & operator<<(std::ostream &s, const MultiDimAggregator< GUM_SCALAR > &ag)
For friendly displaying the content of the array.
gum is the global namespace for all aGrUM entities