| // -*- 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 | |
| // | |
| //===----------------------------------------------------------------------===// | |
| export namespace std { | |
| // [func.invoke], invoke | |
| using std::invoke; | |
| #if _LIBCPP_STD_VER >= 23 | |
| using std::invoke_r; | |
| #endif | |
| #if _LIBCPP_STD_VER >= 20 | |
| using std::basic_common_reference; | |
| #endif | |
| // [refwrap], reference_wrapper | |
| using std::reference_wrapper; | |
| using std::cref; | |
| using std::ref; | |
| // [arithmetic.operations], arithmetic operations | |
| using std::divides; | |
| using std::minus; | |
| using std::modulus; | |
| using std::multiplies; | |
| using std::negate; | |
| using std::plus; | |
| // [comparisons], comparisons | |
| using std::equal_to; | |
| using std::greater; | |
| using std::greater_equal; | |
| using std::less; | |
| using std::less_equal; | |
| using std::not_equal_to; | |
| // [comparisons.three.way], class compare_three_way | |
| using std::compare_three_way; | |
| // [logical.operations], logical operations | |
| using std::logical_and; | |
| using std::logical_not; | |
| using std::logical_or; | |
| // [bitwise.operations], bitwise operations | |
| using std::bit_and; | |
| using std::bit_not; | |
| using std::bit_or; | |
| using std::bit_xor; | |
| // [func.identity], identity | |
| using std::identity; | |
| // [func.not.fn], function template not_fn | |
| using std::not_fn; | |
| // [func.bind.partial], function templates bind_front and bind_back | |
| using std::bind_front; | |
| #if _LIBCPP_STD_VER >= 23 | |
| using std::bind_back; | |
| #endif | |
| // [func.bind], bind | |
| using std::is_bind_expression; | |
| using std::is_bind_expression_v; | |
| using std::is_placeholder; | |
| using std::is_placeholder_v; | |
| using std::bind; | |
| namespace placeholders { | |
| // M is the implementation-defined number of placeholders | |
| using std::placeholders::_1; | |
| using std::placeholders::_10; | |
| using std::placeholders::_2; | |
| using std::placeholders::_3; | |
| using std::placeholders::_4; | |
| using std::placeholders::_5; | |
| using std::placeholders::_6; | |
| using std::placeholders::_7; | |
| using std::placeholders::_8; | |
| using std::placeholders::_9; | |
| } // namespace placeholders | |
| // [func.memfn], member function adaptors | |
| using std::mem_fn; | |
| // [func.wrap], polymorphic function wrappers | |
| using std::bad_function_call; | |
| using std::function; | |
| #if _LIBCPP_STD_VER >= 26 | |
| using std::function_ref; | |
| #endif // _LIBCPP_STD_VER >= 26 | |
| using std::swap; | |
| using std::operator==; | |
| // [func.wrap.move], move only wrapper | |
| // using std::move_only_function; | |
| // [func.search], searchers | |
| using std::default_searcher; | |
| using std::boyer_moore_searcher; | |
| using std::boyer_moore_horspool_searcher; | |
| // [unord.hash], class template hash | |
| using std::hash; | |
| namespace ranges { | |
| // [range.cmp], concept-constrained comparisons | |
| using std::ranges::equal_to; | |
| using std::ranges::greater; | |
| using std::ranges::greater_equal; | |
| using std::ranges::less; | |
| using std::ranges::less_equal; | |
| using std::ranges::not_equal_to; | |
| } // namespace ranges | |
| } // namespace std |