21 #ifndef ELM_SYS_JOBSCHEDULER_H_
22 #define ELM_SYS_JOBSCHEDULER_H_
24 #include <elm/sys/Thread.h>
26 namespace elm {
namespace sys {
38 template <
class T,
class I>
42 virtual Job *
next(
void) {
if(i.ended())
return 0;
else { T *r = i.item(); i.next();
return r; } }
67 virtual
void run(
void);
Definition: JobScheduler.h:28
Definition: JobScheduler.h:31
virtual void harvest(T *job)
Definition: JobScheduler.h:44
virtual void harvest(Job *job)
Definition: JobScheduler.h:35
int threadCount(void) const
Definition: JobScheduler.h:58
void stop(void)
Definition: sys_JobScheduler.cpp:193
virtual ~JobProducer(void)
Definition: JobScheduler.h:33
JobProducer & producer(void) const
Definition: JobScheduler.h:56
Definition: SystemException.h:29
~JobScheduler(void)
Definition: sys_JobScheduler.cpp:111
void start(void)
Definition: sys_JobScheduler.cpp:157
Definition: JobScheduler.h:39
void setThreadCount(int count)
Definition: sys_JobScheduler.cpp:147
virtual void harvest(Job *job)
Definition: JobScheduler.h:43
JobScheduler(void)
Definition: sys_JobScheduler.cpp:94
virtual Job * next(void)=0
Definition: JobScheduler.h:49
IteratorProducer(const I &iter)
Definition: JobScheduler.h:41
virtual Job * next(void)
Definition: JobScheduler.h:42
void setProducer(JobProducer &producer)
Definition: sys_JobScheduler.cpp:131