28 #ifndef GUM_SCHEDULE_PROJECT_H 29 #define GUM_SCHEDULE_PROJECT_H 33 #include <agrum/agrum.h> 35 #include <agrum/tools/core/sequence.h> 36 #include <agrum/tools/core/set.h> 37 #include <agrum/tools/graphicalModels/inference/scheduler/scheduleMultiDim.h> 38 #include <agrum/tools/graphicalModels/inference/scheduler/scheduleOperation.h> 39 #include <agrum/tools/multidim/implementations/multiDimImplementation.h> 40 #include <agrum/tools/variables/discreteVariable.h> 44 template <
typename GUM_SCALAR >
56 const ScheduleMultiDim< GUM_SCALAR >& table,
57 const Set<
const DiscreteVariable* >& del_vars,
154 #include <agrum/tools/graphicalModels/inference/scheduler/scheduleProject_tpl.h> virtual ScheduleProject< GUM_SCALAR > * newFactory() const
virtual copy constructor: creates a clone of the operation
const ScheduleMultiDim< GUM_SCALAR > & result() const
returns the scheduleMultidim resulting from the execution of the operation
std::pair< long, long > memoryUsage() const
returns the memory consumption used during the operation
float nbOperations() const
returns an estimation of the number of elementary operations needed to perform the ScheduleOperation ...
INLINE void emplace(Args &&... args)
ScheduleMultiDim< GUM_SCALAR > * _result_
the result of the operation
Sequence< const ScheduleMultiDim< GUM_SCALAR > *> * _results_
the set of ScheduleMultidims resulting from the operation
void execute()
executes the operation
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimArgs() const
returns the set of multidims passed in argument to the operation
bool operator!=(const ScheduleOperation< GUM_SCALAR > &) const
operator !=
virtual ~ScheduleProject()
destructor
Sequence< const ScheduleMultiDim< GUM_SCALAR > *> * _args_
the set of ScheduleMultidims passed in arguments
std::string toString() const
displays the content of the operation
const Sequence< const ScheduleMultiDim< GUM_SCALAR > *> & multiDimResults() const
returns the set of multidims that should be the result of the operation
ScheduleProject(const ScheduleProject< GUM_SCALAR > &)
copy constructor
bool operator==(const ScheduleOperation< GUM_SCALAR > &) const
operator ==
ScheduleProject(const ScheduleMultiDim< GUM_SCALAR > &table, const Set< const DiscreteVariable * > &del_vars, MultiDimImplementation< GUM_SCALAR > *(*project)(const MultiDimImplementation< GUM_SCALAR > &, const Set< const DiscreteVariable * > &))
default constructor
ScheduleProject< GUM_SCALAR > & operator=(const ScheduleProject< GUM_SCALAR > &)
copy operator
ScheduleMultiDim< GUM_SCALAR > _table_
Set< const DiscreteVariable *> _del_vars_