Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/p5-vbnekit/async_primitives.prototypes
C++17 asynchronous primitives prototype library
https://github.com/p5-vbnekit/async_primitives.prototypes
async async-architecture async-await async-functions async-programming asyncapi asynchronous asynchronous-tasks asynctask cpp cpp17 cpp17-library
Last synced: 23 days ago
JSON representation
C++17 asynchronous primitives prototype library
- Host: GitHub
- URL: https://github.com/p5-vbnekit/async_primitives.prototypes
- Owner: p5-vbnekit
- License: cc0-1.0
- Created: 2023-12-25T15:15:50.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-01-01T18:16:21.000Z (11 months ago)
- Last Synced: 2024-07-29T16:59:27.024Z (4 months ago)
- Topics: async, async-architecture, async-await, async-functions, async-programming, asyncapi, asynchronous, asynchronous-tasks, asynctask, cpp, cpp17, cpp17-library
- Language: C++
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# p5-async_primitives
`C++ 17` library with asynchronous primitives (prototype state).## Hello, world
```cpp
::ap::event::Dispatcher<::std::string_view> dispatcher_;dispatcher_.subscribe([&] (auto const &event) {
application_.log << event;
});application_.on_ready([dispatcher_ = ::std::move(dispatcher_)] {
dispatcher_.dispatch("Hello, world!");
});
```## Basic primitives
1. **Event dispatcher** & **Event source**: \
yet another `signal/slot` implementation \
with **Shared Subscripton** ("weak"|"strong") entity as `Connection`
3. **Promise** & **Future**: not implemented yet
4. **Coroutines adapters**: not implemented yet## Examples
Check out [examples directory](./examples).## $${\color{red}WARNING}$$
This is unstable prototype and any things (commit history, api, abi, etc) may be changed.