| // -*- 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 |
| |
| // [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; |
| |
| 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 |