summaryrefslogtreecommitdiff
path: root/deps/v8/src/base/template-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/base/template-utils.h')
-rw-r--r--deps/v8/src/base/template-utils.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/deps/v8/src/base/template-utils.h b/deps/v8/src/base/template-utils.h
index 4f082845d9..f222593e2d 100644
--- a/deps/v8/src/base/template-utils.h
+++ b/deps/v8/src/base/template-utils.h
@@ -98,6 +98,15 @@ struct make_void {
template <class... Ts>
using void_t = typename make_void<Ts...>::type;
+// 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