Public Types | Public Member Functions | Protected Attributes | List of all members
boost::threadpool::prio_scheduler< Task > Class Template Reference

SchedulingPolicy which implements prioritized ordering. More...

#include <scheduling_policies.hpp>

Public Types

typedef Task task_type
 Indicates the scheduler's task type. More...
 

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
 Internal task container. More...
 

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
TaskA 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.

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 ( )
inline

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

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

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

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

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

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.


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


asr_descriptor_surface_based_recognition
Author(s): Allgeyer Tobias, Hutmacher Robin, Meißner Pascal
autogenerated on Mon Dec 16 2019 03:31:16