Support libc++ and reduce minimum required standard to c++20
- Use alternative to
std::move_only_function
from function2 library- head only library
- provides
unique_function
- Issues with using
std::move_only_function
:- requires c++23 with libstdc++
- not yet implemented by libc++
- Reduce minimum required standard in CMakeLists.txt to c++20
- Add missing lambda parentheses