aGrUM  0.20.3
a C++ library for (probabilistic) graphical models
gum::Scheduler< GUM_SCALAR > Class Template Referenceabstract

#include <scheduler.h>

+ Inheritance diagram for gum::Scheduler< GUM_SCALAR >:

Public Member Functions

Constructors / Destructors
 Scheduler ()
 default constructor More...
 
 Scheduler (const Scheduler< GUM_SCALAR > &)
 copy constructor More...
 
virtual ~Scheduler ()
 destructor More...
 
virtual Scheduler< GUM_SCALAR > * newFactory () const =0
 virtual constructor More...
 
Accessors/Modifiers
virtual bool execute (Schedule< GUM_SCALAR > &)=0
 execute all the operations of a given schedule More...
 
virtual bool execute (Schedule< GUM_SCALAR > &, Size k)=0
 execute only k operations of a given schedule (default k = 1) More...
 
virtual float nbOperations (const Schedule< GUM_SCALAR > &) const =0
 returns an estimation of the number of elementary operations needed to perform a given schedule More...
 
virtual float nbOperations (const Schedule< GUM_SCALAR > &, Size k) const =0
 returns an estimation of the number of elementary operations needed to perform the k first ScheduleOperations of a given schedule More...
 
virtual std::pair< long, long > memoryUsage (const Schedule< GUM_SCALAR > &) const =0
 returns the memory consumption used during the execution of a schedule More...
 
virtual std::pair< long, long > memoryUsage (const Schedule< GUM_SCALAR > &, Size k) const =0
 returns the memory consumption used during the execution of the k first ScheduleOperations of a given schedule More...
 

Detailed Description

template<typename GUM_SCALAR>
class gum::Scheduler< GUM_SCALAR >

Definition at line 37 of file scheduler.h.

Constructor & Destructor Documentation

◆ Scheduler() [1/2]

template<typename GUM_SCALAR >
gum::Scheduler< GUM_SCALAR >::Scheduler ( )

default constructor

◆ Scheduler() [2/2]

template<typename GUM_SCALAR >
gum::Scheduler< GUM_SCALAR >::Scheduler ( const Scheduler< GUM_SCALAR > &  )

copy constructor

◆ ~Scheduler()

template<typename GUM_SCALAR >
virtual gum::Scheduler< GUM_SCALAR >::~Scheduler ( )
virtual

destructor

Member Function Documentation

◆ execute() [1/2]

template<typename GUM_SCALAR >
virtual bool gum::Scheduler< GUM_SCALAR >::execute ( Schedule< GUM_SCALAR > &  )
pure virtual

execute all the operations of a given schedule

Returns
a Boolean indicating whether all the schedule was performed

Implemented in gum::SchedulerBasic< GUM_SCALAR >.

◆ execute() [2/2]

template<typename GUM_SCALAR >
virtual bool gum::Scheduler< GUM_SCALAR >::execute ( Schedule< GUM_SCALAR > &  ,
Size  k 
)
pure virtual

execute only k operations of a given schedule (default k = 1)

If there are fewer than k operations in the schedule, then all those operations are performed

Returns
a Boolean indicating whether the k operations (or all the operations of the schedule) were performed

Implemented in gum::SchedulerBasic< GUM_SCALAR >.

◆ memoryUsage() [1/2]

template<typename GUM_SCALAR >
virtual std::pair< long, long > gum::Scheduler< GUM_SCALAR >::memoryUsage ( const Schedule< GUM_SCALAR > &  ) const
pure virtual

returns the memory consumption used during the execution of a schedule

Actually, this function does not return a precise account of the memory used to perform the schedule but a rough estimate based on the sizes of the tables involved in the schedule.

Returns
a pair of memory consumption: the first one is the maximum amount of memory used during the execution of the Schedule and the second one is the amount of memory still used at the end of the execution of the schedule

Implemented in gum::SchedulerBasic< GUM_SCALAR >.

◆ memoryUsage() [2/2]

template<typename GUM_SCALAR >
virtual std::pair< long, long > gum::Scheduler< GUM_SCALAR >::memoryUsage ( const Schedule< GUM_SCALAR > &  ,
Size  k 
) const
pure virtual

returns the memory consumption used during the execution of the k first ScheduleOperations of a given schedule

Actually, this function does not return a precise account of the memory used to perform the schedule but a rough estimate based on the sizes of the tables involved in the schedule. If there are fewer than k operations in the schedule, then all those operations are taken into account.

Returns
a pair of memory consumption: the first one is the maximum amount of memory used during the execution of the Schedule and the second one is the amount of memory still used at the end of the execution of k first operations of the schedule

Implemented in gum::SchedulerBasic< GUM_SCALAR >.

◆ nbOperations() [1/2]

template<typename GUM_SCALAR >
virtual float gum::Scheduler< GUM_SCALAR >::nbOperations ( const Schedule< GUM_SCALAR > &  ) const
pure virtual

returns an estimation of the number of elementary operations needed to perform a given schedule

Implemented in gum::SchedulerBasic< GUM_SCALAR >.

◆ nbOperations() [2/2]

template<typename GUM_SCALAR >
virtual float gum::Scheduler< GUM_SCALAR >::nbOperations ( const Schedule< GUM_SCALAR > &  ,
Size  k 
) const
pure virtual

returns an estimation of the number of elementary operations needed to perform the k first ScheduleOperations of a given schedule

If there are fewer than k operations in the schedule, then all those operations are taken into account

Implemented in gum::SchedulerBasic< GUM_SCALAR >.

◆ newFactory()

template<typename GUM_SCALAR >
virtual Scheduler< GUM_SCALAR >* gum::Scheduler< GUM_SCALAR >::newFactory ( ) const
pure virtual

virtual constructor

Returns
a new fresh Scheduler

Implemented in gum::SchedulerBasic< GUM_SCALAR >.


The documentation for this class was generated from the following file: