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-exception
7//
8//===----------------------------------------------------------------------===//
9
10export namespace std {
11  // [tuple.tuple], class template tuple
12  using std::tuple;
13
14  // [tuple.like], concept tuple-like
15
16#if _LIBCPP_STD_VER >= 23
17  // [tuple.common.ref], common_reference related specializations
18  using std::basic_common_reference;
19  using std::common_type;
20#endif
21
22  // [tuple.creation], tuple creation functions
23  using std::ignore;
24
25  using std::forward_as_tuple;
26  using std::make_tuple;
27  using std::tie;
28  using std::tuple_cat;
29
30  // [tuple.apply], calling a function with a tuple of arguments
31  using std::apply;
32
33  using std::make_from_tuple;
34
35  // [tuple.helper], tuple helper classes
36  using std::tuple_element;
37  using std::tuple_size;
38
39  // [tuple.elem], element access
40  using std::get;
41  using std::tuple_element_t;
42
43  // [tuple.rel], relational operators
44  using std::operator==;
45  using std::operator<=>;
46
47  // [tuple.traits], allocator-related traits
48  using std::uses_allocator;
49
50  // [tuple.special], specialized algorithms
51  using std::swap;
52
53  // [tuple.helper], tuple helper classes
54  using std::tuple_size_v;
55} // namespace std
56