https://github.com/bemanproject/task
Implementation of coroutine `task` (P3552)
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.8%) to scientific vocabulary
Repository
Implementation of coroutine `task` (P3552)
Basic Info
Statistics
- Stars: 14
- Watchers: 8
- Forks: 6
- Open Issues: 3
- Releases: 0
Metadata Files
README.md
beman.task: Beman Library Implementation of task (P3552)
beman::execution::task<T, Context> is a class template which
is used as the the type of coroutine tasks. The corresponding objects
are senders. The first template argument (T) defines the result
type which becomes a set_value_t(T) completion signatures. The
second template argument (Context) provides a way to configure
the behavior of the coroutine. By default it can be left alone.
Implements: std::execution::task proposed in Add a Coroutine Lazy Type (P3552).
Usage
The following code snippet shows a basic use of beman::task::task
using sender/receiver facilities to implement version of hello,
world:
```cpp
include
include
include
namespace ex = beman::execution; namespace ly = beman::task;
int main() {
return std::get<0>(*ex::syncwait([]->ex::task
Full runnable examples can be found in examples/ (e.g., ./examples/hello.cpp). For some explanation see ./docs/examples.md.
Help Welcome
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 coroutines.
Building beman.task
Dependencies
This project depends on
beman::execution (which
will be automatically obtained using cmake's FetchContent*).
Build-time dependencies:
cmakeninja,make, or another CMake-supported build system- CMake defaults to "Unix Makefiles" on POSIX systems
How to build beman.task
This project strives to be as normal and simple a CMake project as
possible. This build workflow in particular will work, producing
a static libbeman.task.a library, ready to package with its
headers:
```shell
Build beman.task.
$ cmake --workflow --preset gcc-debug $ cmake --workflow --preset gcc-release
Install beman.task into your system.
$ cmake --install build/gcc-release/ --prefix /opt/beman.task/ -- Install configuration: "RelWithDebInfo" -- Installing: /opt/beman.task/lib/libbeman.task.a -- Installing: /opt/beman.task/include/beman/task/task.hpp [...]
$ tree /opt/beman.task/ /opt/beman.task/ ├── include │ └── beman │ └── task │ ├── detail │ │ ├── affineon.hpp │ │ ├── ... │ │ ├── task.hpp │ │ └── witherror.hpp │ └── task.hpp └── lib ├── cmake │ └── beman │ └── task │ └── BemanTaskConfig.cmake └── libbeman.task.a
9 directories, 26 files ```
Contributing
Please do! Issues and pull requests are appreciated.
Owner
- Name: The Beman Project
- Login: bemanproject
- Kind: organization
- Website: bemanproject.org
- Twitter: bemanproject
- Repositories: 3
- Profile: https://github.com/bemanproject
Supporting the efficient design and adoption of the highest quality C++ standard libraries
GitHub Events
Total
- Issues event: 10
- Watch event: 5
- Delete event: 22
- Issue comment event: 16
- Push event: 120
- Pull request review event: 75
- Pull request review comment event: 232
- Pull request event: 41
- Fork event: 4
- Create event: 24
Last Year
- Issues event: 10
- Watch event: 5
- Delete event: 22
- Issue comment event: 16
- Push event: 120
- Pull request review event: 75
- Pull request review comment event: 232
- Pull request event: 41
- Fork event: 4
- Create event: 24
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 9
- Total pull requests: 25
- Average time to close issues: 19 days
- Average time to close pull requests: 2 days
- Total issue authors: 6
- Total pull request authors: 3
- Average comments per issue: 1.33
- Average comments per pull request: 0.36
- Merged pull requests: 16
- Bot issues: 3
- Bot pull requests: 0
Past Year
- Issues: 9
- Pull requests: 25
- Average time to close issues: 19 days
- Average time to close pull requests: 2 days
- Issue authors: 6
- Pull request authors: 3
- Average comments per issue: 1.33
- Average comments per pull request: 0.36
- Merged pull requests: 16
- Bot issues: 3
- Bot pull requests: 0
Top Authors
Issue Authors
- github-actions[bot] (3)
- neatudarius (2)
- ednolan (1)
- JeffGarland (1)
- RaduNichita (1)
- ArashPartow (1)
Pull Request Authors
- dietmarkuehl (17)
- ednolan (4)
- neatudarius (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- TheMrMilchmann/setup-msvc-dev v3 composite
- actions/checkout v4 composite
- lukka/get-cmake latest composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- pre-commit/action v3.0.1 composite
- reviewdog/action-suggester v1 composite
- tj-actions/changed-files v45 composite
- mcr.microsoft.com/devcontainers/cpp 1-ubuntu-22.04 build