From 1ac86aa59527a68ad3c04437d5a03789499ce7a2 Mon Sep 17 00:00:00 2001 From: subcrip Date: Fri, 10 May 2024 13:39:46 +0800 Subject: [PATCH] Update include.hh Signed-off-by: subcrip --- include.hh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include.hh b/include.hh index da618c5..275b489 100644 --- a/include.hh +++ b/include.hh @@ -382,4 +382,12 @@ template istream& operator>>(istream& in, MLL& num) { return in >> num.val; } + +// miscancellous +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)); }); +} +template void sort_by_key(RandomIt first, RandomIt last, Func extractor, Compare comp) { + std::sort(first, last, [&] (auto&& a, auto&& b) { return comp(extractor(a), extractor(b)); }); +} /////////////////////////////////////////////////////////