28 #ifndef GUM_SCHEDULE_OPERATION_H 29 #define GUM_SCHEDULE_OPERATION_H 41 template <
typename GUM_SCALAR >
123 virtual std::pair< long, long >
memoryUsage()
const = 0;
126 virtual std::string
toString()
const = 0;
virtual const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimResults() const =0
returns the set of multidims that should be the result of the operation
project a ScheduleMultiDim over a subset of its variables
virtual float nbOperations() const =0
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation ...
Type type() const
returns the name of the operation
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Idx __id
the id corresponding to the operation
The generic class for storing (ordered) sequences of objects.
Type __type
the name of the operation to perform
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimArgs() const =0
returns the set of multidims passed in argument to the operation
virtual bool operator!=(const ScheduleOperation< GUM_SCALAR > &) const =0
operator !=
Idx id() const
returns the id of the operation
virtual bool operator==(const ScheduleOperation< GUM_SCALAR > &) const =0
operator ==
virtual void execute()=0
executes the operation
Type
the currently supported types of operations
store a multidim into a separator
combine 2 ScheduleMultiDims
store a Multidim into a clique
static Idx __newId()
returns a new distinct ID for each operation
ScheduleOperation(Type t)
default constructor
virtual std::string toString() const =0
displays the content of the operation
virtual ~ScheduleOperation()
destructor
ScheduleOperation< GUM_SCALAR > & operator=(const ScheduleOperation< GUM_SCALAR > &)
copy operator
Size Idx
Type for indexes.
virtual ScheduleOperation< GUM_SCALAR > * newFactory() const =0
virtual copy constructor: creates a clone of the operation
virtual std::pair< long, long > memoryUsage() const =0
returns the memory consumption used during the operation
delete a MultiDim from memory