Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
Loading...
Searching...
No Matches
queue_capabilities.h
Go to the documentation of this file.
1/*
2 * BSD 3-Clause License
3 * Copyright (c) 2025, DongCheol Shin
4 */
5
12#pragma once
13
14namespace kcenon::thread {
15
42 bool exact_size = true;
43
45 bool atomic_empty_check = true;
46
48 bool lock_free = false;
49
51 bool wait_free = false;
52
54 bool supports_batch = true;
55
58
60 bool supports_stop = true;
61
67 [[nodiscard]] constexpr auto operator==(const queue_capabilities& other) const noexcept -> bool = default;
68};
69
70} // namespace kcenon::thread
Core threading foundation of the thread system library.
Definition thread_impl.h:17
Runtime-queryable queue capabilities descriptor.
bool wait_free
Implementation uses wait-free algorithms (stronger than lock-free)
bool atomic_empty_check
empty() check is atomic and consistent
bool supports_blocking_wait
Supports blocking dequeue with wait.
bool supports_batch
Supports batch enqueue/dequeue operations.
constexpr auto operator==(const queue_capabilities &other) const noexcept -> bool=default
Equality comparison operator.
bool exact_size
size() returns exact value (vs approximate for lock-free queues)
bool lock_free
Implementation uses lock-free algorithms.
bool supports_stop
Supports stop() method to signal shutdown.