125 lines · plain
1// -*- C++ -*-2//===----------------------------------------------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===----------------------------------------------------------------------===//9 10export namespace std {11 // [func.invoke], invoke12 using std::invoke;13#if _LIBCPP_STD_VER >= 2314 using std::invoke_r;15#endif16 17#if _LIBCPP_STD_VER >= 2018 using std::basic_common_reference;19#endif20 21 // [refwrap], reference_wrapper22 using std::reference_wrapper;23 24 using std::cref;25 using std::ref;26 27 // [arithmetic.operations], arithmetic operations28 using std::divides;29 using std::minus;30 using std::modulus;31 using std::multiplies;32 using std::negate;33 using std::plus;34 // [comparisons], comparisons35 using std::equal_to;36 using std::greater;37 using std::greater_equal;38 using std::less;39 using std::less_equal;40 using std::not_equal_to;41 42 // [comparisons.three.way], class compare_three_way43 using std::compare_three_way;44 45 // [logical.operations], logical operations46 using std::logical_and;47 using std::logical_not;48 using std::logical_or;49 50 // [bitwise.operations], bitwise operations51 using std::bit_and;52 using std::bit_not;53 using std::bit_or;54 using std::bit_xor;55 56 // [func.identity], identity57 using std::identity;58 59 // [func.not.fn], function template not_fn60 using std::not_fn;61 62 // [func.bind.partial], function templates bind_front and bind_back63 using std::bind_front;64#if _LIBCPP_STD_VER >= 2365 using std::bind_back;66#endif67 68 // [func.bind], bind69 using std::is_bind_expression;70 using std::is_bind_expression_v;71 using std::is_placeholder;72 using std::is_placeholder_v;73 74 using std::bind;75 76 namespace placeholders {77 // M is the implementation-defined number of placeholders78 using std::placeholders::_1;79 using std::placeholders::_10;80 using std::placeholders::_2;81 using std::placeholders::_3;82 using std::placeholders::_4;83 using std::placeholders::_5;84 using std::placeholders::_6;85 using std::placeholders::_7;86 using std::placeholders::_8;87 using std::placeholders::_9;88 } // namespace placeholders89 90 // [func.memfn], member function adaptors91 using std::mem_fn;92 93 // [func.wrap], polymorphic function wrappers94 using std::bad_function_call;95 96 using std::function;97 98 using std::swap;99 100 using std::operator==;101 102 // [func.wrap.move], move only wrapper103 // using std::move_only_function;104 105 // [func.search], searchers106 using std::default_searcher;107 108 using std::boyer_moore_searcher;109 110 using std::boyer_moore_horspool_searcher;111 112 // [unord.hash], class template hash113 using std::hash;114 115 namespace ranges {116 // [range.cmp], concept-constrained comparisons117 using std::ranges::equal_to;118 using std::ranges::greater;119 using std::ranges::greater_equal;120 using std::ranges::less;121 using std::ranges::less_equal;122 using std::ranges::not_equal_to;123 } // namespace ranges124} // namespace std125