31 #ifndef GUM_MULTIDIM_ADRESSABLE_H 32 #define GUM_MULTIDIM_ADRESSABLE_H 173 #ifndef GUM_NO_INLINE Inline implementation for the abstract base class for all multi dimensionnal containers.
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.
gum is the global namespace for all aGrUM entities
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.
Header files of gum::Instantiation.
~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...