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