[LLD] [COFF] Handle undefined weak symbols in LTO (#70430)
[llvm-project.git] / libcxx / modules / std / tuple.inc
blob706e2266c174b77f3f68e2fef15afd5b4e7aa167
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 //===----------------------------------------------------------------------===//
10 export namespace std {
11   // [tuple.tuple], class template tuple
12   using std::tuple;
14   // [tuple.like], concept tuple-like
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
22   // [tuple.creation], tuple creation functions
23   using std::ignore;
25   using std::forward_as_tuple;
26   using std::make_tuple;
27   using std::tie;
28   using std::tuple_cat;
30   // [tuple.apply], calling a function with a tuple of arguments
31   using std::apply;
33   using std::make_from_tuple;
35   // [tuple.helper], tuple helper classes
36   using std::tuple_element;
37   using std::tuple_size;
39   // [tuple.elem], element access
40   using std::get;
41   using std::tuple_element_t;
43   // [tuple.rel], relational operators
44   using std::operator==;
45   using std::operator<=>;
47   // [tuple.traits], allocator-related traits
48   using std::uses_allocator;
50   // [tuple.special], specialized algorithms
51   using std::swap;
53   // [tuple.helper], tuple helper classes
54   using std::tuple_size_v;
55 } // namespace std