This is the source code repository of the Software Technology Lab (stlab).
ASL libraries will be migrated here in the stlab namespace, new libraries will be created here.
This library provides futures and channels, high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing contention. This library solves several problems of the C++11 and C++17 TS futures.
The complete documentation is available on the stlab home page.
Release changelogs are listed in CHANGES.md.
First, you will need the following tools:
Once they're set up, run either
setup_msvc.bat for the platform of your choice. It will setup all necessary library dependencies and create the platform-specific project file in the
Microsoft Windows Platform Build Notes:
- If you are using
conanfor the first time, add
--build missingto conan command call in
- Use administrator command prompt if you get issues in manifest creation during
mt : general error c101008d)
Upcomming Changes in Version 2
- Currently we are redesigning the interface of the
futureclass. We will make the associated executor of a task more explicit by removing the implicit "inheritance" of the executors from the previous future. So a continuation will not get automatically the same executor from its predecessor. If non is provided, then it will be automatically be executed via the
- As well we will remove all
.recover()functions from the
futureinterface. Only the
operator^()will remain. So the pipe notation, as it is comming with C++20 ranges, will become the only choice. Obviously this will be a breaking change.
- In parallel we think about changing the then former
recover()function signature, see issue #263.