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