libraries

by stlab

stlab /libraries

ASL libraries will be migrated here in the stlab namespace, new libraries will be created here.

463 Stars 43 Forks Last release: 8 months ago (V1.5.2) Boost Software License 1.0 1.1K Commits 15 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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.

Branch states

  • master
    : Master status AppVeyor Code Coverage Coverty Scan

  • develop
    : Travis status AppVeyor Code Coverage

Content

Concurrency

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.

Documentation

The complete documentation is available on the stlab home page.

Release changelogs are listed in CHANGES.md.

Building

First, you will need the following tools:

conan
and
cmake
are available on the Mac via Homebrew.
cmake
is available on Windows via
scoop
.

Once they're set up, run either

setup_xcode.sh
or
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
./build/
directory.

Microsoft Windows Platform Build Notes: - If you are using

conan
for the first time, add
--build missing
to conan command call in
setup_msvc.bat
script - Use administrator command prompt if you get issues in manifest creation during
setup_msvc.bat
run (ex:
mt : general error c101008d
)

Upcomming Changes in Version 2

  • Currently we are redesigning the interface of the
    future
    class. 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
    immediate_executor
    .
  • As well we will remove all
    .then()
    and
    .recover()
    functions from the
    future
    interface. Only the
    operator|()
    and
    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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.