diff --git a/include.hh b/include.hh index 90ccb1e..b65c83f 100644 --- a/include.hh +++ b/include.hh @@ -429,6 +429,9 @@ istream& operator>>(istream& in, MLLd& num) { } // miscancellous +#define functor(func) [&](auto&&... val) \ +noexcept(noexcept(func(std::forward(val)...))) -> decltype(auto) \ +{return func(std::forward(val)...);} template void sort_by_key(RandomIt first, RandomIt last, Func extractor) { std::sort(first, last, [&] (auto&& a, auto&& b) { return std::less<>()(extractor(a), extractor(b)); }); }