Skip to content
develop
Go to file
Code

Latest commit

* stlab::forest, associated headers, and tests

* build break

* PR changes as per @FelixP

* PR changes as per @FelixPetriconi

* another change as per @FelixPetriconi

* Update stlab/forest.hpp

Co-authored-by: Sean Parent <sean.parent@stlab.cc>

* change per @sean-parent review comments

* Altered move assignment to handle self-move-assignment cases.

It is mostly unnecessary extra work (which I dislike) but may be the direction the standard is moving.

Co-authored-by: Sean Parent <sean.parent@stlab.cc>

* tests for assign, ctor, and swap

Co-authored-by: Sean Parent <sean.parent@stlab.cc>
9bc84f7

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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.

About

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

Resources

License

Languages

You can’t perform that action at this time.