An implementation of P0896R4 "The One Ranges Proposal".
Compilation requires a compiler with support for C++17 and the Concepts TS, which as of this writing means GCC 7+ with the
-fconcepts command line options.
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
* "default" `coerce` overload needs to be SFINAE-friendly * Use `is_base_of` instead of `derived_from` per [func.require] * `reference_wrapper` and `is_base_of` overloads of `coerce` are unconditionally `noexcept` * Don't check `is_function_v`/`is_object` in PMF/PMD `invoke` overloads when we can simple check the validity of the result expression * Implement `invoke_result` in terms of `invoke_result_t` * Avoid `declval` in `reference_wrapper::operator()`