C++17 lets us simplify the red-black tree's metaprogramming:
- Replace the std::true_type/std::false_type traits used to detect comparator / verifier signatures with std::is_invocable_r(_v).
- Drop most of the SFINAE overloads and merge identical code paths with if constexpr.
This removes boilerplate, shortens the headers, and yields clearer compile-time errors without changing external behaviour.
- Replace the std::true_type/std::false_type traits used to detect comparator / verifier signatures with std::is_invocable_r(_v).
- Drop most of the SFINAE overloads and merge identical code paths with if constexpr.
This removes boilerplate, shortens the headers, and yields clearer compile-time errors without changing external behaviour.
- links to
-
Review(master) openjdk/jdk/27260