[PATCH] Migrate from tbb to onetbb - add `FlexbarAtomic` - a simple wrapper around `std::atomic` which adds a copy constructor - to replace `tbb::atomic` member variables in classes with default copy constructors - replace removed `tbb::atomic` - with `FlexbarAtomic` if copy constructor was assumed - with `std::atomic` otherwise - filters (PairedAlign, PairedInput, PairedOutput) - no longer inherit from tbb::filter - take and return pointers to actual type instead of void* - operator() is now const - pipeline - use parallel_pipeline and make_filter - use global_control to set max threads - use `oneapi::tbb` namespace - add find_package for TBB to CMakeLists.txt
[PATCH] Fix parallel_pipeline issues - pass a lambda with a reference to the filter instead of directly passing the filter to parallel_pipeline - passed filters may be copied and/or deleted by tbb - flexbar continues to use the filter objects after the pipeline is finished - call fc.stop() in PairedInput when there is no more input - required control flow for first filter in parallel_pipeline that was previously missing