threadpool | Overview | Reference | Tutorial | Examples | Design

Reference | Class List | Member Functions | Typedefs | File List

Public Types | Public Member Functions | Protected Attributes
boost::threadpool::fifo_scheduler< Task > Class Template Reference

List of all members.

## Public Types
typedef Task | task_type
## Public Member Functions
void | clear ()
bool | empty () const
void | pop ()
bool | push (task_type const &task)
size_t | size () const
task_type const & | top () const
## Protected Attributes
std::deque< task_type > | m_container

## Detailed Description

### template<typename Task = task_func>
class boost::threadpool::fifo_scheduler< Task >

SchedulingPolicy which implements FIFO ordering.

This container implements a FIFO scheduling policy. The first task to be added to the scheduler will be the first to be removed. The processing proceeds sequentially in the same order. FIFO stands for "first in, first out".

Parameters:

  Task | A function object which implements the operator()(void).

Definition at line 45 of file scheduling_policies.hpp.

## Member Typedef Documentation

template<typename Task = task_func>

typedef Task boost::threadpool::fifo_scheduler< Task >::task_type

Indicates the scheduler's task type.

Definition at line 48 of file scheduling_policies.hpp.

## Member Function Documentation

template<typename Task = task_func>

void boost::threadpool::fifo_scheduler< Task >::clear | ( |  | ) |

Removes all tasks from the scheduler.

Definition at line 100 of file scheduling_policies.hpp.

template<typename Task = task_func>

bool boost::threadpool::fifo_scheduler< Task >::empty | ( |  | ) | const

Checks if the scheduler is empty.

Returns:
  true if the scheduler contains no tasks, false otherwise.

Remarks:
  Is more efficient than size() == 0.

Definition at line 93 of file scheduling_policies.hpp.

template<typename Task = task_func>

void boost::threadpool::fifo_scheduler< Task >::pop | ( |  | ) |

Removes the task which should be executed next.

Definition at line 67 of file scheduling_policies.hpp.

template<typename Task = task_func>

bool boost::threadpool::fifo_scheduler< Task >::push | ( | task_type const & | task | ) |

Adds a new task to the scheduler.

Parameters:

  task | The task object.

Returns:
  true, if the task could be scheduled and false otherwise.

Definition at line 59 of file scheduling_policies.hpp.

template<typename Task = task_func>

size_t boost::threadpool::fifo_scheduler< Task >::size | ( |  | ) | const

Gets the current number of tasks in the scheduler.

Returns:
  The number of tasks.

Remarks:
  Prefer empty() to size() == 0 to check if the scheduler is empty.

Definition at line 84 of file scheduling_policies.hpp.

template<typename Task = task_func>

task_type const& boost::threadpool::fifo_scheduler< Task >::top | ( |  | ) | const

Gets the task which should be executed next.

Returns:
  The task object to be executed.

Definition at line 75 of file scheduling_policies.hpp.

## Member Data Documentation

template<typename Task = task_func>

std::deque<task_type> boost::threadpool::fifo_scheduler< Task >::m_container`[protected]`

Internal task container.

Definition at line 51 of file scheduling_policies.hpp.

Copyright © 2005-2008 Philipp Henkel | Overview | Reference | Tutorial | Examples | Design