Commit 4c99c011 authored by Clemens Backes's avatar Clemens Backes Committed by V8 LUCI CQ

[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/+/3570429Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79803}
parent 30ba798c
......@@ -93,7 +93,7 @@ inline void CallOnce(OnceType* once, std::function<void()> init_func) {
}
template <typename... Args, typename = std::enable_if_t<
conjunction<std::is_scalar<Args>...>::value>>
std::conjunction_v<std::is_scalar<Args>...>>>
inline void CallOnce(OnceType* once,
typename FunctionWithArgs<Args...>::type init_func,
Args... args) {
......
......@@ -89,15 +89,6 @@ constexpr bool all(Args... rest) {
return fold(std::logical_and<>{}, true, rest...);
}
// Corresponds to C++17's std::conjunction
template <class...>
struct conjunction : std::true_type {};
template <class B>
struct conjunction<B> : B {};
template <class B, class... Bn>
struct conjunction<B, Bn...>
: std::conditional_t<bool(B::value), conjunction<Bn...>, B> {};
} // namespace base
} // namespace v8
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment