49#ifndef GUM_MULTIDIM_INTERFACE_H
50#define GUM_MULTIDIM_INTERFACE_H
62#ifndef DOXYGEN_SHOULD_SKIP_THIS
Base class for discrete random variable.
Class for assigning/browsing values to tuples of discrete variables.
Interface for all classes addressing in a multiDim fashion.
void replace(const DiscreteVariable &x, const DiscreteVariable &y)
Replace variables in this multidim.
virtual const Sequence< const DiscreteVariable * > & variablesSequence() const =0
Returns a const ref to the sequence of DiscreteVariable*.
virtual Size domainSize() const =0
Returns the product of the variables domain size.
virtual ~MultiDimInterface()
Class destructor.
virtual Idx pos(const DiscreteVariable &v) const =0
Returns the index of a variable.
virtual void add(const DiscreteVariable &v)=0
Adds a new var to the variables of the multidimensional matrix.
virtual Idx nbrDim() const =0
Returns the number of vars in the multidimensional container.
virtual const DiscreteVariable & variable(Idx i) const =0
Returns a const ref to the ith var.
virtual void replace_(const DiscreteVariable *x, const DiscreteVariable *y)=0
This is called by MultiDimContainer::replace() to proceed with the replacing between x and y.
virtual bool contains(const DiscreteVariable &v) const =0
Returns true if var is in *this.
virtual void erase(const DiscreteVariable &v)=0
Removes a var from the variables of the multidimensional matrix.
virtual const DiscreteVariable & variable(const std::string &name) const =0
Returns the variable with the name.
virtual bool empty() const =0
Returns true if no var is in *this.
The generic class for storing (ordered) sequences of objects.
Base class for discrete random variable.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Size Idx
Type for indexes.
MultiDimInterface & operator>>(MultiDimInterface &c, const DiscreteVariable &v)
Removes a var from the variables of the MutliDimAdressing.
Inline implementation of gumMultiDimInterface.
gum is the global namespace for all aGrUM entities
std::ostream & operator<<(std::ostream &stream, const AVLTree< Val, Cmp > &tree)
display the content of a tree
Header file of gum::Sequence, a class for storing (ordered) sequences of objects.