Simulacrum  1.2
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Simulacrum::SPool Class Reference

#include <SPool.h>

Collaboration diagram for Simulacrum::SPool:
Collaboration graph

Public Types

typedef std::function< void() > SFunction
 
typedef unsigned SDependency_t
 
typedef unsigned long SThreadID_t
 

Public Member Functions

 SPool ()
 
 SPool (int poolsize)
 
 ~SPool ()
 
void addJob (SFunction, bool imdispatch=true)
 
void addJob (SFunction, std::initializer_list< SDependency_t > depends, bool imdispatch=true)
 
SDependency_t addJob_p (SFunction, std::initializer_list< SDependency_t > depends, bool imdispatch=true)
 
void wait ()
 
void setPoolSize (int)
 
int jobs ()
 
int poolSize ()
 
int activeThreads ()
 
void dispatcher (SThreadID_t=0, SDependency_t=0)
 

Static Public Member Functions

static void fireAndForget (SPool::SFunction)
 

Member Typedef Documentation

◆ SDependency_t

◆ SFunction

typedef std::function< void() > Simulacrum::SPool::SFunction

◆ SThreadID_t

typedef unsigned long Simulacrum::SPool::SThreadID_t

Constructor & Destructor Documentation

◆ SPool() [1/2]

SPool::SPool ( )

◆ SPool() [2/2]

SPool::SPool ( int  poolsize)

◆ ~SPool()

SPool::~SPool ( )

Member Function Documentation

◆ activeThreads()

int SPool::activeThreads ( )

◆ addJob() [1/2]

void SPool::addJob ( SFunction  newjob,
bool  imdispatch = true 
)

◆ addJob() [2/2]

void SPool::addJob ( SFunction  newjob,
std::initializer_list< SDependency_t depends,
bool  imdispatch = true 
)

◆ addJob_p()

SPool::SDependency_t SPool::addJob_p ( SFunction  ,
std::initializer_list< SDependency_t depends,
bool  imdispatch = true 
)

◆ dispatcher()

void SPool::dispatcher ( SThreadID_t  cleanup = 0,
SDependency_t  providc = 0 
)

◆ fireAndForget()

void SPool::fireAndForget ( SPool::SFunction  forgetme)
static

◆ jobs()

int SPool::jobs ( )

◆ poolSize()

int SPool::poolSize ( )

◆ setPoolSize()

void SPool::setPoolSize ( int  newsize)

◆ wait()

void SPool::wait ( )

The documentation for this class was generated from the following files:
Simulacrum Project