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: util_WAHVector.cpp:157
Definition: JobScheduler.h:39
virtual Job * next(void)
Definition: JobScheduler.h:42
virtual void harvest(T *job)
Definition: JobScheduler.h:44
virtual void harvest(Job *job)
Definition: JobScheduler.h:43
IteratorProducer(const I &iter)
Definition: JobScheduler.h:41
Definition: JobScheduler.h:31
virtual Job * next(void)=0
virtual ~JobProducer(void)
Definition: JobScheduler.h:33
virtual void harvest(Job *job)
Definition: JobScheduler.h:35
Definition: JobScheduler.h:49
~JobScheduler(void)
Definition: sys_JobScheduler.cpp:112
JobScheduler(void)
Definition: sys_JobScheduler.cpp:95
void setThreadCount(int count)
Definition: sys_JobScheduler.cpp:148
JobProducer & producer(void) const
Definition: JobScheduler.h:56
void stop(void)
Definition: sys_JobScheduler.cpp:194
void setProducer(JobProducer &producer)
Definition: sys_JobScheduler.cpp:132
int threadCount(void) const
Definition: JobScheduler.h:58
void start(void)
Definition: sys_JobScheduler.cpp:158
Definition: JobScheduler.h:28
int count(const C &c, const P &p)
Definition: util.h:65