Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
Loading...
Searching...
No Matches
kcenon::thread::queue_factory::requirements Struct Reference

Queue selection requirements. More...

#include <queue_factory.h>

Collaboration diagram for kcenon::thread::queue_factory::requirements:
Collaboration graph

Public Attributes

bool need_exact_size = false
 Require exact size()
 
bool need_atomic_empty = false
 Require atomic empty()
 
bool prefer_lock_free = false
 Prefer lock-free if possible.
 
bool need_batch_operations = false
 Require batch enqueue/dequeue.
 
bool need_blocking_wait = false
 Require blocking dequeue.
 

Detailed Description

Queue selection requirements.

Specifies what features are required from the queue. Used by create_for_requirements() to select the appropriate implementation.

Examples
queue_factory_sample.cpp.

Definition at line 72 of file queue_factory.h.

Member Data Documentation

◆ need_atomic_empty

bool kcenon::thread::queue_factory::requirements::need_atomic_empty = false

Require atomic empty()

Definition at line 74 of file queue_factory.h.

◆ need_batch_operations

bool kcenon::thread::queue_factory::requirements::need_batch_operations = false

Require batch enqueue/dequeue.

Examples
queue_factory_sample.cpp.

Definition at line 76 of file queue_factory.h.

Referenced by requirements_based_selection().

◆ need_blocking_wait

bool kcenon::thread::queue_factory::requirements::need_blocking_wait = false

Require blocking dequeue.

Definition at line 77 of file queue_factory.h.

◆ need_exact_size

bool kcenon::thread::queue_factory::requirements::need_exact_size = false

Require exact size()

Examples
queue_factory_sample.cpp.

Definition at line 73 of file queue_factory.h.

Referenced by requirements_based_selection().

◆ prefer_lock_free

bool kcenon::thread::queue_factory::requirements::prefer_lock_free = false

Prefer lock-free if possible.

Examples
queue_factory_sample.cpp.

Definition at line 75 of file queue_factory.h.

Referenced by requirements_based_selection().


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