[libcxx-commits] [libcxxabi] [libc] Add invoke / invoke_result type traits (PR #65750)
Guillaume Chatelet via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Sep 14 05:00:24 PDT 2023
================
@@ -0,0 +1,26 @@
+//===-- invoke_result type_traits -------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+#ifndef LLVM_LIBC_SRC_SUPPORT_CPP_TYPE_TRAITS_INVOKE_RESULT_H
+#define LLVM_LIBC_SRC_SUPPORT_CPP_TYPE_TRAITS_INVOKE_RESULT_H
+
+#include "src/__support/CPP/type_traits/invoke.h"
+#include "src/__support/CPP/utility/declval.h"
+
+namespace __llvm_libc::cpp {
+
+template <class F, class... Args> struct invoke_result {
+ using type =
+ decltype(cpp::invoke(cpp::declval<F>(), cpp::declval<Args>()...));
----------------
gchatelet wrote:
FTR this has been discussed off line.
https://github.com/llvm/llvm-project/pull/65750
More information about the libcxx-commits
mailing list