Is it possible to pass a concept as a template parameter? For example:
I want to do something like this:
template <typename t, typename u> concept range_of =
range<t> &&
requires (t a) {
{*a.begin()} -> std::same_as<u &>;
};
But instead of giving the exact type u
I want to give it a concept:
template <typename t, {{concept u}}> concept constrained_range =
range<t> &&
requires (t a) {
{*a.begin()} -> u;
};