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

SchedulingPolicy which implements LIFO ordering. More...

#include <scheduling_policies.hpp>

List of all members.

Public Types

typedef Task task_type
 Indicates the scheduler's 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_typem_container
 Internal task container.

Detailed Description

template<typename Task = task_func>
class boost::threadpool::lifo_scheduler< Task >

SchedulingPolicy which implements LIFO ordering.

This container implements a LIFO scheduling policy. The last task to be added to the scheduler will be the first to be removed. LIFO stands for "last in, first out".

Parameters:
TaskA function object which implements the operator()(void).

Definition at line 118 of file scheduling_policies.hpp.


Member Typedef Documentation

template<typename Task = task_func>
typedef Task boost::threadpool::lifo_scheduler< Task >::task_type

Indicates the scheduler's task type.

Definition at line 121 of file scheduling_policies.hpp.


Member Function Documentation

template<typename Task = task_func>
void boost::threadpool::lifo_scheduler< Task >::clear ( ) [inline]

Removes all tasks from the scheduler.

Definition at line 172 of file scheduling_policies.hpp.

template<typename Task = task_func>
bool boost::threadpool::lifo_scheduler< Task >::empty ( ) const [inline]

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 165 of file scheduling_policies.hpp.

template<typename Task = task_func>
void boost::threadpool::lifo_scheduler< Task >::pop ( ) [inline]

Removes the task which should be executed next.

Definition at line 139 of file scheduling_policies.hpp.

template<typename Task = task_func>
bool boost::threadpool::lifo_scheduler< Task >::push ( task_type const &  task) [inline]

Adds a new task to the scheduler.

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

Definition at line 131 of file scheduling_policies.hpp.

template<typename Task = task_func>
size_t boost::threadpool::lifo_scheduler< Task >::size ( ) const [inline]

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 156 of file scheduling_policies.hpp.

template<typename Task = task_func>
task_type const& boost::threadpool::lifo_scheduler< Task >::top ( ) const [inline]

Gets the task which should be executed next.

Returns:
The task object to be executed.

Definition at line 147 of file scheduling_policies.hpp.


Member Data Documentation

template<typename Task = task_func>
std::deque<task_type> boost::threadpool::lifo_scheduler< Task >::m_container [protected]

Internal task container.

Definition at line 124 of file scheduling_policies.hpp.


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


or_libs
Author(s): Viktor Seib
autogenerated on Tue Jan 7 2014 11:24:03