File indexing completed on 2026-05-03 08:13:31
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef _LIBCPP___CXX03___FUNCTIONAL_UNARY_FUNCTION_H
0010 #define _LIBCPP___CXX03___FUNCTIONAL_UNARY_FUNCTION_H
0011
0012 #include <__cxx03/__config>
0013
0014 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
0015 # pragma GCC system_header
0016 #endif
0017
0018 _LIBCPP_BEGIN_NAMESPACE_STD
0019
0020 #if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION)
0021
0022 template <class _Arg, class _Result>
0023 struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function {
0024 typedef _Arg argument_type;
0025 typedef _Result result_type;
0026 };
0027
0028 #endif
0029
0030 template <class _Arg, class _Result>
0031 struct __unary_function_keep_layout_base {
0032 #if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_ENABLE_CXX20_REMOVED_BINDER_TYPEDEFS)
0033 using argument_type _LIBCPP_DEPRECATED_IN_CXX17 = _Arg;
0034 using result_type _LIBCPP_DEPRECATED_IN_CXX17 = _Result;
0035 #endif
0036 };
0037
0038 #if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION)
0039 _LIBCPP_DIAGNOSTIC_PUSH
0040 _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wdeprecated-declarations")
0041 template <class _Arg, class _Result>
0042 using __unary_function = unary_function<_Arg, _Result>;
0043 _LIBCPP_DIAGNOSTIC_POP
0044 #else
0045 template <class _Arg, class _Result>
0046 using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>;
0047 #endif
0048
0049 _LIBCPP_END_NAMESPACE_STD
0050
0051 #endif