Closed bjude closed 3 years ago
Pinging @andrewfb for a review, I'd prefer to keep my project tracking the master branch instead of my fork and the issues this PR and #2211 are blocking that
I apologize for the crazy delay on merging this - thanks for submitting it.
Thanks for fixing my issue. I also prefer to work with the official branch rather than my fork !
std::result_of is deprecated in C++17 and removed in C++20, breaking downstream projects that use C++20 with MSVC
This could be replaced by a wrapper type trait that dispatches to std::invoke_result_t for C++17 and later or to std::result_of for earlier versions but since it is only used in one place for nullary functors, decltype will be simpler.
The vendored version of boost::asio uses std::result_of so this PR will not allow Cinder to be built in C++20 mode yet, but since asio is only used internally and not in Cinder's interface it should allow downstream project to use C++20.
Fixes #2206