|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
Lightweight non-blocking async tasks, channels, and synchronization primitives with zero-heap resumption chaining. More...
Files | |
| file | async.hpp |
| Umbrella header for C++20 coroutine primitives. | |
| file | AsyncEvent.hpp |
| Lock-free asynchronous event synchronization primitive for C++20 coroutines. | |
| file | CancellationToken.hpp |
| Lock-free atomic cooperative cancellation token with coroutine awaiter. | |
| file | Channel.hpp |
| Zero-heap bounded asynchronous channel for C++20 coroutine message passing. | |
| file | Delay.hpp |
| Non-blocking timer delay and yield awaitables for C++20 coroutines. | |
| file | FramePool.hpp |
| Zero-heap static coroutine frame pool and frame allocator policies. | |
| file | Generator.hpp |
| Pull-based zero-heap lazy sequence generator compatible with C++20 ranges. | |
| file | Semaphore.hpp |
| Zero-heap asynchronous counting semaphore for C++20 coroutines. | |
| file | Task.hpp |
| Lazy awaitable C++20 coroutine task with zero dynamic heap allocation. | |
| file | WhenAll.hpp |
| Non-blocking combinator awaiting completion of multiple parallel tasks. | |
| file | WhenAny.hpp |
| Non-blocking combinator resolving on the first completed task. | |
Classes | |
| class | corium::async::AsyncEvent< T > |
| Lock-free single-waiter asynchronous event channel for C++20 coroutines. Enables event-driven coroutine resumption without blocking threads or allocating dynamic memory. More... | |
| class | corium::async::AsyncSemaphore |
| Asynchronous counting semaphore for cooperative coroutine concurrency throttling. More... | |
| class | corium::async::CancellationToken |
| Lightweight, zero-heap cooperative cancellation token for C++20 coroutines and services. More... | |
| class | corium::async::Channel< T, Capacity > |
| Statically allocated bounded asynchronous channel for typed producer-consumer coroutines. More... | |
| class | corium::async::Generator< T, Allocator > |
| Zero-heap C++20 pull-based lazy generator sequence with configurable frame allocator. Compatible with range-based for loops and standard C++20 ranges. More... | |
| class | corium::async::StaticFramePool< MaxFrames, FrameSize > |
| Statically-allocated fixed-capacity memory pool for coroutine state frames. Eliminates heap allocations and guarantees deterministic O(1) coroutine frame allocation. More... | |
| class | corium::async::Task< T, Allocator > |
| Lightweight C++20 coroutine task with zero-heap resumption chaining and configurable frame allocator. More... | |
Functions | |
| template<typename... Tasks> | |
| auto | corium::async::whenAll (Tasks &&... tasks) |
| Awaits concurrent or sequential completion of multiple Task coroutines. | |
| template<typename... Tasks> | |
| auto | corium::async::whenAny (Tasks &&... tasks) |
| Awaits the first task among multiple tasks to complete. | |
Lightweight non-blocking async tasks, channels, and synchronization primitives with zero-heap resumption chaining.
Key components:
| auto corium::async::whenAll | ( | Tasks &&... | tasks | ) |
| auto corium::async::whenAny | ( | Tasks &&... | tasks | ) |
Awaits the first task among multiple tasks to complete.
Here is the call graph for this function: