Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.25 KB

File metadata and controls

26 lines (20 loc) · 1.25 KB

Building C++ Concurrency

The bcpp::concurrency namespace contains two related C++20 libraries. Signal Tree provides concurrent signal selection; Work Contract uses it to schedule persistent activities on application-owned worker threads.

Library Header CMake target Documentation
Signal Tree <library/signal_tree.h> bcpp::signal_tree Guide, testing, future work
Work Contract <library/work_contract.h> bcpp::work_contract Introduction, concurrency model, testing
Complete namespace <library/concurrency.h> bcpp::concurrency Includes both libraries

bcpp::work_contract links bcpp::signal_tree publicly, so consumers of Work Contract receive its Signal Tree dependency automatically. bcpp::concurrency links the complete target graph.

Build and test

cmake -S . -B build
cmake --build build -j
ctest --test-dir build --output-on-failure

Benchmarks are opt-in through SIGNAL_TREE_BUILD_BENCHMARK and WORK_CONTRACT_BUILD_BENCHMARK.