JoelFilho / TDP

The Darkest Pipeline - Multithreaded pipelines for modern C++
https://twitter.com/_JoelFilho
Boost Software License 1.0
88 stars 4 forks source link

noexcept correctness #4

Closed JoelFilho closed 4 years ago

JoelFilho commented 4 years ago

Currently, the construction of the pipeline stages are declared noexcept, in the operators >> and /. This means std::terminate is called if any stage throws during move construction. For some applications, this is undesirable.

The problem currently exists on these classes:

Note: pipeline's constructor is not declared noexcept because std::thread may throw std::system_error

TODO