├── .clang-format ├── .github └── workflows │ ├── arm64-macos-clang.yml │ ├── coverage.yml │ ├── x64-linux-clang-asan.yml │ ├── x64-linux-clang-tsan.yml │ ├── x64-linux-clang-ubsan.yml │ ├── x64-linux-clang.yml │ ├── x64-linux-gcc.yml │ ├── x64-windows-clang-cl.yml │ ├── x86-linux-clang.yml │ └── x86-linux-gcc.yml ├── .gitignore ├── LICENSE ├── README.md └── include └── tmc ├── all_headers.hpp ├── atomic_condvar.hpp ├── auto_reset_event.hpp ├── aw_resume_on.hpp ├── aw_yield.hpp ├── barrier.hpp ├── channel.hpp ├── current.hpp ├── detail ├── auto_reset_event.ipp ├── awaitable_customizer.hpp ├── barrier.ipp ├── bit_manip.hpp ├── bitmap_object_pool.hpp ├── compat.hpp ├── concepts_awaitable.hpp ├── concepts_work_item.hpp ├── coro_functor.hpp ├── ex_braid.ipp ├── ex_cpu.ipp ├── ex_cpu_st.ipp ├── ex_manual_st.ipp ├── manual_reset_event.ipp ├── mixins.hpp ├── mutex.ipp ├── qu_inbox.hpp ├── qu_lockfree.hpp ├── qu_mpsc.hpp ├── result_each.hpp ├── result_each.ipp ├── semaphore.ipp ├── task_unsafe.hpp ├── task_wrapper.hpp ├── thread_layout.hpp ├── thread_layout.ipp ├── thread_locals.hpp ├── tiny_lock.hpp ├── tiny_opt.hpp ├── tiny_vec.hpp ├── waiter_list.hpp └── waiter_list.ipp ├── ex_any.hpp ├── ex_braid.hpp ├── ex_cpu.hpp ├── ex_cpu_st.hpp ├── ex_manual_st.hpp ├── external.hpp ├── fork_group.hpp ├── latch.hpp ├── manual_reset_event.hpp ├── mutex.hpp ├── semaphore.hpp ├── spawn.hpp ├── spawn_func.hpp ├── spawn_group.hpp ├── spawn_many.hpp ├── spawn_tuple.hpp ├── sync.hpp ├── task.hpp ├── utils.hpp └── work_item.hpp /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.clang-format -------------------------------------------------------------------------------- /.github/workflows/arm64-macos-clang.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/arm64-macos-clang.yml -------------------------------------------------------------------------------- /.github/workflows/coverage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/coverage.yml -------------------------------------------------------------------------------- /.github/workflows/x64-linux-clang-asan.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x64-linux-clang-asan.yml -------------------------------------------------------------------------------- /.github/workflows/x64-linux-clang-tsan.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x64-linux-clang-tsan.yml -------------------------------------------------------------------------------- /.github/workflows/x64-linux-clang-ubsan.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x64-linux-clang-ubsan.yml -------------------------------------------------------------------------------- /.github/workflows/x64-linux-clang.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x64-linux-clang.yml -------------------------------------------------------------------------------- /.github/workflows/x64-linux-gcc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x64-linux-gcc.yml -------------------------------------------------------------------------------- /.github/workflows/x64-windows-clang-cl.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x64-windows-clang-cl.yml -------------------------------------------------------------------------------- /.github/workflows/x86-linux-clang.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x86-linux-clang.yml -------------------------------------------------------------------------------- /.github/workflows/x86-linux-gcc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.github/workflows/x86-linux-gcc.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/README.md -------------------------------------------------------------------------------- /include/tmc/all_headers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/all_headers.hpp -------------------------------------------------------------------------------- /include/tmc/atomic_condvar.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/atomic_condvar.hpp -------------------------------------------------------------------------------- /include/tmc/auto_reset_event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/auto_reset_event.hpp -------------------------------------------------------------------------------- /include/tmc/aw_resume_on.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/aw_resume_on.hpp -------------------------------------------------------------------------------- /include/tmc/aw_yield.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/aw_yield.hpp -------------------------------------------------------------------------------- /include/tmc/barrier.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/barrier.hpp -------------------------------------------------------------------------------- /include/tmc/channel.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/channel.hpp -------------------------------------------------------------------------------- /include/tmc/current.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/current.hpp -------------------------------------------------------------------------------- /include/tmc/detail/auto_reset_event.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/auto_reset_event.ipp -------------------------------------------------------------------------------- /include/tmc/detail/awaitable_customizer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/awaitable_customizer.hpp -------------------------------------------------------------------------------- /include/tmc/detail/barrier.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/barrier.ipp -------------------------------------------------------------------------------- /include/tmc/detail/bit_manip.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/bit_manip.hpp -------------------------------------------------------------------------------- /include/tmc/detail/bitmap_object_pool.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/bitmap_object_pool.hpp -------------------------------------------------------------------------------- /include/tmc/detail/compat.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/compat.hpp -------------------------------------------------------------------------------- /include/tmc/detail/concepts_awaitable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/concepts_awaitable.hpp -------------------------------------------------------------------------------- /include/tmc/detail/concepts_work_item.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/concepts_work_item.hpp -------------------------------------------------------------------------------- /include/tmc/detail/coro_functor.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/coro_functor.hpp -------------------------------------------------------------------------------- /include/tmc/detail/ex_braid.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/ex_braid.ipp -------------------------------------------------------------------------------- /include/tmc/detail/ex_cpu.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/ex_cpu.ipp -------------------------------------------------------------------------------- /include/tmc/detail/ex_cpu_st.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/ex_cpu_st.ipp -------------------------------------------------------------------------------- /include/tmc/detail/ex_manual_st.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/ex_manual_st.ipp -------------------------------------------------------------------------------- /include/tmc/detail/manual_reset_event.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/manual_reset_event.ipp -------------------------------------------------------------------------------- /include/tmc/detail/mixins.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/mixins.hpp -------------------------------------------------------------------------------- /include/tmc/detail/mutex.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/mutex.ipp -------------------------------------------------------------------------------- /include/tmc/detail/qu_inbox.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/qu_inbox.hpp -------------------------------------------------------------------------------- /include/tmc/detail/qu_lockfree.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/qu_lockfree.hpp -------------------------------------------------------------------------------- /include/tmc/detail/qu_mpsc.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/qu_mpsc.hpp -------------------------------------------------------------------------------- /include/tmc/detail/result_each.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/result_each.hpp -------------------------------------------------------------------------------- /include/tmc/detail/result_each.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/result_each.ipp -------------------------------------------------------------------------------- /include/tmc/detail/semaphore.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/semaphore.ipp -------------------------------------------------------------------------------- /include/tmc/detail/task_unsafe.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/task_unsafe.hpp -------------------------------------------------------------------------------- /include/tmc/detail/task_wrapper.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/task_wrapper.hpp -------------------------------------------------------------------------------- /include/tmc/detail/thread_layout.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/thread_layout.hpp -------------------------------------------------------------------------------- /include/tmc/detail/thread_layout.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/thread_layout.ipp -------------------------------------------------------------------------------- /include/tmc/detail/thread_locals.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/thread_locals.hpp -------------------------------------------------------------------------------- /include/tmc/detail/tiny_lock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/tiny_lock.hpp -------------------------------------------------------------------------------- /include/tmc/detail/tiny_opt.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/tiny_opt.hpp -------------------------------------------------------------------------------- /include/tmc/detail/tiny_vec.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/tiny_vec.hpp -------------------------------------------------------------------------------- /include/tmc/detail/waiter_list.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/waiter_list.hpp -------------------------------------------------------------------------------- /include/tmc/detail/waiter_list.ipp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/detail/waiter_list.ipp -------------------------------------------------------------------------------- /include/tmc/ex_any.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/ex_any.hpp -------------------------------------------------------------------------------- /include/tmc/ex_braid.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/ex_braid.hpp -------------------------------------------------------------------------------- /include/tmc/ex_cpu.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/ex_cpu.hpp -------------------------------------------------------------------------------- /include/tmc/ex_cpu_st.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/ex_cpu_st.hpp -------------------------------------------------------------------------------- /include/tmc/ex_manual_st.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/ex_manual_st.hpp -------------------------------------------------------------------------------- /include/tmc/external.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/external.hpp -------------------------------------------------------------------------------- /include/tmc/fork_group.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/fork_group.hpp -------------------------------------------------------------------------------- /include/tmc/latch.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/latch.hpp -------------------------------------------------------------------------------- /include/tmc/manual_reset_event.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/manual_reset_event.hpp -------------------------------------------------------------------------------- /include/tmc/mutex.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/mutex.hpp -------------------------------------------------------------------------------- /include/tmc/semaphore.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/semaphore.hpp -------------------------------------------------------------------------------- /include/tmc/spawn.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/spawn.hpp -------------------------------------------------------------------------------- /include/tmc/spawn_func.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/spawn_func.hpp -------------------------------------------------------------------------------- /include/tmc/spawn_group.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/spawn_group.hpp -------------------------------------------------------------------------------- /include/tmc/spawn_many.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/spawn_many.hpp -------------------------------------------------------------------------------- /include/tmc/spawn_tuple.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/spawn_tuple.hpp -------------------------------------------------------------------------------- /include/tmc/sync.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/sync.hpp -------------------------------------------------------------------------------- /include/tmc/task.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/task.hpp -------------------------------------------------------------------------------- /include/tmc/utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/utils.hpp -------------------------------------------------------------------------------- /include/tmc/work_item.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tzcnt/TooManyCooks/HEAD/include/tmc/work_item.hpp --------------------------------------------------------------------------------