aboutsummaryrefslogtreecommitdiff
path: root/lib/libcxx/include/functional
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-04-05 01:46:13 -0400
committerGitHub <noreply@github.com>2025-04-05 01:46:13 -0400
commit0cd31fc7ff157551cfbba5da35cd79f118d2a2e3 (patch)
treea308488f5d85184c8ec402fb3f55f1cf2704443e /lib/libcxx/include/functional
parent8acedfd5baabab705946ad097746f9183ef62420 (diff)
parentcefe65c1b8abe65a22d4b68410db1be264fdeda0 (diff)
downloadzig-0cd31fc7ff157551cfbba5da35cd79f118d2a2e3.tar.gz
zig-0cd31fc7ff157551cfbba5da35cd79f118d2a2e3.zip
Merge pull request #22780 from ziglang/llvm20
LLVM 20
Diffstat (limited to 'lib/libcxx/include/functional')
-rw-r--r--lib/libcxx/include/functional144
1 files changed, 75 insertions, 69 deletions
diff --git a/lib/libcxx/include/functional b/lib/libcxx/include/functional
index 3d39f654dd..b121a19d6b 100644
--- a/lib/libcxx/include/functional
+++ b/lib/libcxx/include/functional
@@ -214,7 +214,9 @@ template <class Predicate> // deprecated in C++17, removed in C++20
binary_negate<Predicate> not2(const Predicate& pred);
template <class F>
-constexpr unspecified not_fn(F&& f); // C++17, constexpr in C++20
+ constexpr unspecified not_fn(F&& f); // C++17, constexpr in C++20
+template <auto f>
+ constexpr unspecified not_fn() noexcept; // C++26
// [func.bind.partial], function templates bind_front and bind_back
template<class F, class... Args>
@@ -395,7 +397,7 @@ const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const);
template <class S, class T, class A>
const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const); // deprecated in C++11, removed in C++17
-template<class R, class T> constexpr unspecified mem_fn(R T::*); // constexpr in C++20
+template<class R, class T> constexpr unspecified mem_fn(R T::*) noexcept; // constexpr in C++20
class bad_function_call
: public exception
@@ -527,72 +529,76 @@ POLICY: For non-variadic implementations, the number of arguments is limited
*/
-#include <__config>
-
-#include <__functional/binary_function.h>
-#include <__functional/binary_negate.h>
-#include <__functional/bind.h>
-#include <__functional/binder1st.h>
-#include <__functional/binder2nd.h>
-#include <__functional/hash.h>
-#include <__functional/mem_fn.h> // TODO: deprecate
-#include <__functional/mem_fun_ref.h>
-#include <__functional/operations.h>
-#include <__functional/pointer_to_binary_function.h>
-#include <__functional/pointer_to_unary_function.h>
-#include <__functional/reference_wrapper.h>
-#include <__functional/unary_function.h>
-#include <__functional/unary_negate.h>
-
-#ifndef _LIBCPP_CXX03_LANG
-# include <__functional/function.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 17
-# include <__functional/boyer_moore_searcher.h>
-# include <__functional/default_searcher.h>
-# include <__functional/invoke.h>
-# include <__functional/not_fn.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 20
-# include <__functional/bind_back.h>
-# include <__functional/bind_front.h>
-# include <__functional/identity.h>
-# include <__functional/ranges_operations.h>
-# include <__type_traits/unwrap_ref.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && defined(_LIBCPP_CXX03_LANG)
-# include <limits>
-# include <new>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 14
-# include <array>
-# include <initializer_list>
-# include <unordered_map>
-# include <vector>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdlib>
-# include <exception>
-# include <iosfwd>
-# include <memory>
-# include <stdexcept>
-# include <tuple>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/functional>
+#else
+# include <__config>
+
+# include <__functional/binary_function.h>
+# include <__functional/binary_negate.h>
+# include <__functional/bind.h>
+# include <__functional/binder1st.h>
+# include <__functional/binder2nd.h>
+# include <__functional/hash.h>
+# include <__functional/mem_fn.h> // TODO: deprecate
+# include <__functional/mem_fun_ref.h>
+# include <__functional/operations.h>
+# include <__functional/pointer_to_binary_function.h>
+# include <__functional/pointer_to_unary_function.h>
+# include <__functional/reference_wrapper.h>
+# include <__functional/unary_function.h>
+# include <__functional/unary_negate.h>
+
+# ifndef _LIBCPP_CXX03_LANG
+# include <__functional/function.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 17
+# include <__functional/boyer_moore_searcher.h>
+# include <__functional/default_searcher.h>
+# include <__functional/invoke.h>
+# include <__functional/not_fn.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 20
+# include <__functional/bind_back.h>
+# include <__functional/bind_front.h>
+# include <__functional/identity.h>
+# include <__functional/ranges_operations.h>
+# include <__type_traits/unwrap_ref.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && defined(_LIBCPP_CXX03_LANG)
+# include <limits>
+# include <new>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 14
+# include <array>
+# include <initializer_list>
+# include <unordered_map>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdlib>
+# include <exception>
+# include <iosfwd>
+# include <memory>
+# include <stdexcept>
+# include <tuple>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# include <vector>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FUNCTIONAL