34 #ifndef GUM_MULTIDIM_ADRESSABLE_H 35 #define GUM_MULTIDIM_ADRESSABLE_H 176 #ifndef GUM_NO_INLINE Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual void setFirstNotification(const Instantiation &i)=0
Listen to setFirst in a given Instantiation.
virtual void setChangeNotification(const Instantiation &i)=0
Listen to an assignment of a value in a Instantiation.
virtual bool registerSlave(Instantiation &i)=0
Register i as a slave of this MultiDimAdressable.
Interface for all classes addressing in a multiDim fashion.
Base class for discrete random variable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual void setIncNotification(const Instantiation &i)=0
Listen to increment in a given Instantiation.
virtual bool unregisterSlave(Instantiation &i)=0
Unregister i as a slave of this MultiDimAdressable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
~MultiDimAdressable() override
Destructor.
MultiDimAdressable & operator=(const MultiDimAdressable &from)
Default constructor.
virtual void setLastNotification(const Instantiation &i)=0
Listen to setLast in a given Instantiation.
Abstract base class for all multi dimensionnal addressable.
Class for assigning/browsing values to tuples of discrete variables.
virtual const std::string toString(const Instantiation *i) const =0
Return a string representation of internal data about i in this.
MultiDimAdressable()
Default constructor.
Size Idx
Type for indexes.
virtual void setDecNotification(const Instantiation &i)=0
Listen to increment in each recorded Instantiation.
virtual void changeNotification(const Instantiation &i, const DiscreteVariable *const var, Idx oldval, Idx newval)=0
Listen to changes in a given Instantiation.
virtual MultiDimAdressable & getMasterRef()=0
In order to insure the dereference for decorators, we need to virtualize the access to master pointer...