|template <template <typename...> class C, typename... T> struct assertion_traits<C<T...>>|
|inline static bool equal(C<T...> const& left, C<T...> const& right)|
|left.cbegin(), left.cend(), right.cbegin(), assertion_traits<decltype(*(left.cbegin()))>::equal);|
I propose a refactoring "Extract Open Source Project".
We build software systems to some purpose. But when I read code, I see that some of that code directly serves that purpose while other code does not. I see three categories:
This is the stuff you and your customers care about. It's the reason your software system exists.
In an e-commerce system, that's code that says "when a customer uses a discount code, the discount is applied to the order."