| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
beman.execution provides the basic vocabulary for asynchronous programming as well as important algorithms implemented in terms of this vocabulary.
Implements: std::execution (P2300R10).
The key entities of the vocabulary are:
Using these operations some fundamental algorithms are implemented, e.g.:
Status: Under development and not yet ready for production use.
There are plenty of things which need to be done. See the contributions page for some ideas how to contribute. The resources page contains some links for general information about the sender/receivers and std::execution.
This project requires at least the following to build:
You can disable building tests by setting CMake option BEMAN_EXECUTION_BUILD_TESTS to OFF when configuring the project.
You can disable building examples by setting CMake option BEMAN_EXECUTION_BUILD_EXAMPLES to OFF when configuring the project.
By default, beman.execution provides query_parallel_scheduler_backend. If you want to use a custom parallel_scheduler_backend, you can disable the default query_parallel_scheduler_backend implementation by setting CMake option BEMAN_EXECUTION_WITH_DEFAULT_PARALLEL_SCHEDULER_BACKEND to OFF when configuring the project.
The following instructions build the library and the examples:
ln -s cmake/CMakeUserPresets.json . cmake --workflow --list-presets Available workflow presets: "debug" "release" "gcc-debug" "gcc-release" "llvm-debug" "llvm-release" "msvc-debug" "msvc-release" CXX=g++-15 cmake --workflow --preset release
The implementation compiles and passes tests using clang, gcc, and MSVC++.
| Compiler | Version | C++ Standards | Standard Library |
|---|---|---|---|
| GCC | 15-14 | C++26, C++23 | libstdc++ |
| Clang | 22-19 | C++26, C++23 | libc++ |
| MSVC | latest | C++23 | MSVC STL |
beman.execution is licensed under the Apache License v2.0 with LLVM Exceptions.
| Back | FazBrowse Home | New Git URL |