|
codex
|
#include <cassert>#include <condition_variable>#include <coroutine>#include <iostream>#include <new>#include <queue>#include <thread>#include <version>
Classes | |
| struct | base_promise |
| class | thread_pool |
| struct | thread_pool::thread_data |
| class | simple_task |
| struct | simple_task::promise_type |
| struct | task |
| struct | task::promise_type |
| class | continuation |
| class | continuation::promise_type |
Macros | |
| #define | FWD(x) std::forward<decltype(x)>(x) |
Functions | |
| void | time (auto &&f) |
| simple_task | test0_f () |
| void | test0 () |
| task | test1_f (thread_pool *p) |
| void | test1 () |
| continuation | test2_f (thread_pool *p, auto f) |
| continuation | test2_sc () |
| task | test2_s () |
| continuation | test2_scc (continuation *c, auto &&f) |
| continuation | test2_c (continuation *c, auto f) |
| task | schedule (thread_pool *p, auto &&f) |
| void | test2 () |
| int | main () |
Variables | |
| static constexpr std::size_t | hardware_destructive_interference_size = 64 |
| static constexpr std::size_t | N = 1024 * 1024 |
| static std::atomic< std::size_t > | test1_n = {} |
| static std::atomic< std::size_t > | test2_n = {} |
| int main | ( | void | ) |

| task schedule | ( | thread_pool * | p, |
| auto && | f ) |
| void test0 | ( | ) |

| simple_task test0_f | ( | ) |

| void test1 | ( | ) |

| task test1_f | ( | thread_pool * | p | ) |

| void test2 | ( | ) |


| continuation test2_c | ( | continuation * | c, |
| auto | f ) |
| continuation test2_f | ( | thread_pool * | p, |
| auto | f ) |
| task test2_s | ( | ) |

| continuation test2_sc | ( | ) |

| continuation test2_scc | ( | continuation * | c, |
| auto && | f ) |

| void time | ( | auto && | f | ) |

|
staticconstexpr |
|
staticconstexpr |
|
static |
|
static |