# PThreadPool< Work_T > Class Template Reference

Low Level thread pool. More...

`#include <threadpool.h>`

Inheritance diagram for PThreadPool< Work_T >:

List of all members.

## Public Types

typedef std::map< Work_T *, InternalWork > | ExternalToInternalWorkMap_T
typedef std::map< std::string, GroupInfo > | GroupInfoMap_t

## Public Member Functions

| PThreadPool (unsigned maxWorkers=10, unsigned maxWorkUnits=0)
bool | AddWork (Work_T *work, const char *group=NULL)
bool | RemoveWork (Work_T *work, bool removeFromWorker=true)

## Public Attributes

ExternalToInternalWorkMap_T | m_externalToInternalWorkMap
GroupInfoMap_t | m_groupInfoMap

## Classes

struct | GroupInfo
class | InternalWork
class | WorkerThread

## Detailed Description

### template<class Work_T>
class PThreadPool< Work_T >

Low Level thread pool.

## Member Typedef Documentation

template<class Work_T>

typedef std::map<Work_T *, InternalWork> PThreadPool< Work_T >::ExternalToInternalWorkMap_T

template<class Work_T>

typedef std::map<std::string, GroupInfo> PThreadPool< Work_T >::GroupInfoMap_t

## Constructor & Destructor Documentation

template<class Work_T>

PThreadPool< Work_T >::PThreadPool | ( | unsigned | maxWorkers = `10`,
|  | unsigned | maxWorkUnits = `0` |
| ) |  |  | `[inline]`

## Member Function Documentation

template<class Work_T>

bool PThreadPool< Work_T >::AddWork | ( | Work_T * | work,
|  | const char * | group = `NULL` |
| ) |  |  | `[inline]`

template<class Work_T>

bool PThreadPool< Work_T >::RemoveWork | ( | Work_T * | work,
|  | bool | removeFromWorker = `true` |
| ) |  |  | `[inline]`

## Member Data Documentation

template<class Work_T>

ExternalToInternalWorkMap_T PThreadPool< Work_T >::m_externalToInternalWorkMap

template<class Work_T>

GroupInfoMap_t PThreadPool< Work_T >::m_groupInfoMap

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

- threadpool.h