From 4c99c0115e1a27a7f768bb2f789f6ab7c945e0cf Mon Sep 17 00:00:00 2001 From: Clemens Backes Date: Tue, 5 Apr 2022 18:11:16 +0200 Subject: [PATCH] [base] Remove base::conjunction Use C++17's std::conjunction instead. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I004a1bb4fe1b09f441f8822075a72fd20fc90fec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570429 Reviewed-by: Leszek Swirski Commit-Queue: Clemens Backes Cr-Commit-Position: refs/heads/main@{#79803} --- src/base/once.h | 2 +- src/base/template-utils.h | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/base/once.h b/src/base/once.h index c4224e84e354..98d88c12707b 100644 --- a/src/base/once.h +++ b/src/base/once.h @@ -93,7 +93,7 @@ inline void CallOnce(OnceType* once, std::function init_func) { } template ...>::value>> + std::conjunction_v...>>> inline void CallOnce(OnceType* once, typename FunctionWithArgs::type init_func, Args... args) { diff --git a/src/base/template-utils.h b/src/base/template-utils.h index 2f0fa3b64a34..0319f4abe276 100644 --- a/src/base/template-utils.h +++ b/src/base/template-utils.h @@ -89,15 +89,6 @@ constexpr bool all(Args... rest) { return fold(std::logical_and<>{}, true, rest...); } -// Corresponds to C++17's std::conjunction -template -struct conjunction : std::true_type {}; -template -struct conjunction : B {}; -template -struct conjunction - : std::conditional_t, B> {}; - } // namespace base } // namespace v8