threadpool Overview | Reference | Tutorial | Examples | Design
Reference Class List | Member Functions | Typedefs | File List

boost::threadpool::prio_scheduler< Task > Class Template Reference

List of all members.

Detailed Description

template<typename Task = prio_task_func>
class boost::threadpool::prio_scheduler< Task >

SchedulingPolicy which implements prioritized ordering.

This container implements a scheduling policy based on task priorities. The task with highest priority will be the first to be removed. It must be possible to compare two tasks using operator<.

Parameters:
Task A function object which implements the operator() and operator<. operator< must be a partial ordering.
See also:
prio_thread_func

Definition at line 193 of file scheduling_policies.hpp.

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::priority_queue< task_typem_container


Member Typedef Documentation

template<typename Task = prio_task_func>
typedef Task boost::threadpool::prio_scheduler< Task >::task_type
 

Indicates the scheduler's task type.

Definition at line 196 of file scheduling_policies.hpp.


Member Function Documentation

template<typename Task = prio_task_func>
void boost::threadpool::prio_scheduler< Task >::clear  ) 
 

Removes all tasks from the scheduler.

Definition at line 248 of file scheduling_policies.hpp.

template<typename Task = prio_task_func>
bool boost::threadpool::prio_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 241 of file scheduling_policies.hpp.

template<typename Task = prio_task_func>
void boost::threadpool::prio_scheduler< Task >::pop  ) 
 

Removes the task which should be executed next.

Definition at line 215 of file scheduling_policies.hpp.

template<typename Task = prio_task_func>
bool boost::threadpool::prio_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 207 of file scheduling_policies.hpp.

template<typename Task = prio_task_func>
size_t boost::threadpool::prio_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 232 of file scheduling_policies.hpp.

template<typename Task = prio_task_func>
task_type const& boost::threadpool::prio_scheduler< Task >::top  )  const
 

Gets the task which should be executed next.

Returns:
The task object to be executed.

Definition at line 223 of file scheduling_policies.hpp.


Member Data Documentation

template<typename Task = prio_task_func>
std::priority_queue<task_type> boost::threadpool::prio_scheduler< Task >::m_container [protected]
 

Internal task container.

Definition at line 199 of file scheduling_policies.hpp.


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

Hosted by SourceForge.net Logo