A singly-linked FIFO queue for storing tasks of varying size.
More...
#include <task_queue.hpp>
|
using | policy_type = Policy |
|
using | value_type = typename policy_type::mapped_type |
|
using | node_type = typename value_type::node_type |
|
using | node_pointer = node_type * |
|
using | pointer = value_type * |
|
using | const_pointer = const value_type * |
|
using | reference = value_type & |
|
using | const_reference = const value_type & |
|
using | unique_pointer = typename policy_type::unique_pointer |
|
using | task_size_type = typename policy_type::task_size_type |
|
using | iterator = forward_iterator< value_type > |
|
using | const_iterator = forward_iterator< const value_type > |
|
|
| task_queue (policy_type p) |
|
| task_queue (task_queue &&other) |
|
task_queue & | operator= (task_queue &&other) |
|
policy_type & | policy () noexcept |
| Returns the policy object.
|
|
const policy_type & | policy () const noexcept |
| Returns the policy object.
|
|
task_size_type | total_task_size () const noexcept |
| Returns the accumulated size of all stored tasks.
|
|
bool | empty () const noexcept |
| Returns whether the queue has no elements.
|
|
pointer | peek () noexcept |
| Peeks at the first element in the queue. More...
|
|
template<class F > |
void | peek_all (F f) const |
| Applies f to each element in the queue.
|
|
void | clear () |
| Removes all elements from the queue.
|
|
iterator | before_begin () noexcept |
| Returns an iterator to the dummy before the first element.
|
|
const_iterator | before_begin () const noexcept |
| Returns an iterator to the dummy before the first element.
|
|
iterator | begin () noexcept |
| Returns an iterator to the dummy before the first element.
|
|
const_iterator | begin () const noexcept |
| Returns an iterator to the dummy before the first element.
|
|
const_iterator | cbegin () const noexcept |
| Returns an iterator to the dummy before the first element.
|
|
iterator | end () noexcept |
| Returns a pointer to the dummy past the last element.
|
|
const_iterator | end () const noexcept |
| Returns a pointer to the dummy past the last element.
|
|
const_iterator | cend () const noexcept |
| Returns a pointer to the dummy past the last element.
|
|
pointer | front () noexcept |
| Returns a pointer to the first element.
|
|
pointer | back () noexcept |
| Returns a pointer to the last element.
|
|
bool | push_back (pointer ptr) noexcept |
| Appends ptr to the queue. More...
|
|
bool | push_back (unique_pointer ptr) noexcept |
| Appends ptr to the queue. More...
|
|
template<class... Ts> |
bool | emplace_back (Ts &&... xs) |
| Creates a new element from xs... and appends it.
|
|
template<class Container > |
void | prepend (Container &other) |
| Transfers all element from other to the front of this queue.
|
|
template<class Container > |
void | append (Container &other) |
| Transfers all element from other to the back of this queue.
|
|
|
static pointer | promote (node_pointer ptr) noexcept |
| Casts a node type to its value type.
|
|
|
node_type | head_ |
| node element pointing to the first element.
|
|
node_type | tail_ |
| node element pointing past the last element.
|
|
task_size_type | total_task_size_ |
| Stores the total size of all items in the queue.
|
|
node_pointer | old_last_ |
| Used for LIFO -> FIFO insertion.
|
|
node_pointer | new_head_ |
| Used for LIFO -> FIFO insertion.
|
|
policy_type | policy_ |
| Manipulates instances of T.
|
|
template<class Policy>
class caf::intrusive::task_queue< Policy >
A singly-linked FIFO queue for storing tasks of varying size.
This queue is used as a base type for concrete task abstractions such as drr_queue
and therefore has no dequeue functions.
◆ peek()
Peeks at the first element in the queue.
Returns nullptr
if the queue is empty.
◆ push_back() [1/2]
Appends ptr
to the queue.
- Precondition
ptr != nullptr
◆ push_back() [2/2]
Appends ptr
to the queue.
- Precondition
ptr != nullptr
The documentation for this class was generated from the following file:
- /build/actor-framework-ZoJQKb/actor-framework-0.17.6/libcaf_core/caf/intrusive/task_queue.hpp