ThreadSchedule 2.0.0
Modern C++ thread management library
Loading...
Searching...
No Matches
threadschedule::WorkStealingDeque< T > Class Template Reference

#include <thread_pool.hpp>

Public Member Functions

 WorkStealingDeque (size_t capacity=DEFAULT_CAPACITY)
auto push (T &&item) -> bool
auto push (T const &item) -> bool
auto pop (T &item) -> bool
auto steal (T &item) -> bool
auto size () const -> size_t
auto empty () const -> bool
void clear ()

Static Public Attributes

static constexpr size_t CACHE_LINE_SIZE = 64
static constexpr size_t DEFAULT_CAPACITY = 1024

Detailed Description

template<typename T>
class threadschedule::WorkStealingDeque< T >

Definition at line 327 of file thread_pool.hpp.

Constructor & Destructor Documentation

◆ WorkStealingDeque()

template<typename T>
threadschedule::WorkStealingDeque< T >::WorkStealingDeque ( size_t capacity = DEFAULT_CAPACITY)
inlineexplicit

Definition at line 354 of file thread_pool.hpp.

References DEFAULT_CAPACITY.

Member Function Documentation

◆ clear()

template<typename T>
void threadschedule::WorkStealingDeque< T >::clear ( )
inline

Definition at line 436 of file thread_pool.hpp.

◆ empty()

template<typename T>
auto threadschedule::WorkStealingDeque< T >::empty ( ) const -> bool
inlinenodiscard

Definition at line 431 of file thread_pool.hpp.

References size().

◆ pop()

template<typename T>
auto threadschedule::WorkStealingDeque< T >::pop ( T & item) -> bool
inlinenodiscard

Definition at line 391 of file thread_pool.hpp.

◆ push() [1/2]

template<typename T>
auto threadschedule::WorkStealingDeque< T >::push ( T && item) -> bool
inlinenodiscard

Definition at line 359 of file thread_pool.hpp.

◆ push() [2/2]

template<typename T>
auto threadschedule::WorkStealingDeque< T >::push ( T const & item) -> bool
inlinenodiscard

Definition at line 375 of file thread_pool.hpp.

◆ size()

template<typename T>
auto threadschedule::WorkStealingDeque< T >::size ( ) const -> size_t
inlinenodiscard

Definition at line 424 of file thread_pool.hpp.

Referenced by empty().

◆ steal()

template<typename T>
auto threadschedule::WorkStealingDeque< T >::steal ( T & item) -> bool
inlinenodiscard

Definition at line 408 of file thread_pool.hpp.

Member Data Documentation

◆ CACHE_LINE_SIZE

template<typename T>
size_t threadschedule::WorkStealingDeque< T >::CACHE_LINE_SIZE = 64
staticconstexpr

Definition at line 330 of file thread_pool.hpp.

◆ DEFAULT_CAPACITY

template<typename T>
size_t threadschedule::WorkStealingDeque< T >::DEFAULT_CAPACITY = 1024
staticconstexpr

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