From 51616f316b36ce4697e5f5ff55d87674cbc70642 Mon Sep 17 00:00:00 2001 From: subcrip Date: Mon, 5 Aug 2024 22:58:39 +0800 Subject: [PATCH] Update template.cc Signed-off-by: subcrip --- template.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/template.cc b/template.cc index 8fe208b..9bb2710 100644 --- a/template.cc +++ b/template.cc @@ -1,8 +1,4 @@ -#pragma GCC diagnostic ignored "-Wunused-const-variable" -#pragma GCC diagnostic ignored "-Wreorder" -#pragma GCC diagnostic ignored "-Wunknown-pragmas" -#pragma GCC diagnostic ignored "-Wshift-op-parentheses" -#pragma GCC diagnostic ignored "-Wlogical-op-parentheses" +// #pragma GCC target("popcnt,lzcnt,abm,bmi,bmi2") #pragma GCC optimize("Ofast") /************* This code requires C++17. ***************/ @@ -399,9 +395,10 @@ bool chmin(T& lhs, const U& rhs) { return ret; } -#define functor(func) [&](auto&&... val) \ +#define functor(func) ([&](auto&&... val) \ noexcept(noexcept(func(std::forward(val)...))) -> decltype(auto) \ -{return func(std::forward(val)...);} +{return func(std::forward(val)...);}) +#define expr(ret, ...) ([&] (__VA_ARGS__) { return (ret); }) 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)); }); }