47#ifndef GUM_ISCHEDULE_MULTI_DIM_H
48#define GUM_ISCHEDULE_MULTI_DIM_H
The Table-agnostic base class of scheduleMultiDim.
IScheduleMultiDim(const IScheduleMultiDim &from)
copy constructor
Idx id_
the unique Id of the ScheduleMultiDim
virtual void makeAbstract()=0
if the ScheduleMultiDim is not abstract, make it abstract again
IScheduleMultiDim(IScheduleMultiDim &&from)
move constructor
virtual ~IScheduleMultiDim()
destructor
Idx id() const
returns the id of the ScheduleMultiDim
virtual bool isAbstract() const =0
returns whether the ScheduleMultiDim contains a real table or not
virtual const Sequence< const DiscreteVariable * > & variablesSequence() const =0
returns the set of variables involved in the ScheduleMultiDim
virtual double sizeOfContent() const =0
returns the sizeof of the elements stored into the ScheduleMultiDim
virtual Size domainSize() const =0
returns the domain size the table would have after its creation
virtual IScheduleMultiDim * clone() const =0
virtual copy constructor
IScheduleMultiDim & operator=(IScheduleMultiDim &&from)
move operator
static Idx _newId_()
returns a new distinct ID for each abstract scheduleMultiDim
IScheduleMultiDim(const Idx id=0)
constructs a IScheduleMultiDim
static std::atomic< Idx > _multidim_id_
virtual IScheduleMultiDim * clone(bool force_copy) const =0
virtual copy constructor enabling to force a copy of the content
virtual bool operator!=(const IScheduleMultiDim &) const
checks whether two IScheduleMultiDim have different IDs
virtual bool operator==(const IScheduleMultiDim &) const
checks whether two IScheduleMultiDim have exactly the same ID
virtual bool containsMultiDim() const =0
indicates whether the ScheduleMultiDim contains a table and possesses it
virtual bool hasSameVariables(const IScheduleMultiDim &m) const =0
checks whether two IScheduleMultiDim have the same variables
IScheduleMultiDim & operator=(const IScheduleMultiDim &from)
copy operator
static void resetIdGenerator()
reset the id generator to 0
virtual std::string toString() const =0
displays the content of the ScheduleMultiDim
virtual bool hasSameContent(const IScheduleMultiDim &) const =0
checks whether two IScheduleMultiDim contain precisely the same table
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.
gum is the global namespace for all aGrUM entities
Header file of gum::Sequence, a class for storing (ordered) sequences of objects.