// -*- 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 {
// [utility.swap], swap
using std::swap;
// [utility.exchange], exchange
using std::exchange;
// [forward], forward/move
using std::forward;
#if _LIBCPP_STD_VER >= 23
using std::forward_like;
#endif
using std::move;
using std::move_if_noexcept;
// [utility.as.const], as_const
using std::as_const;
// [declval], declval
using std::declval;
// [utility.intcmp], integer comparison functions
using std::cmp_equal;
using std::cmp_not_equal;
using std::cmp_greater;
using std::cmp_greater_equal;
using std::cmp_less;
using std::cmp_less_equal;
using std::in_range;
#if _LIBCPP_STD_VER >= 23
// [utility.underlying], to_underlying
using std::to_underlying;
// [utility.unreachable], unreachable
using std::unreachable;
#endif // _LIBCPP_STD_VER >= 23
// [intseq], compile-time integer sequences
using std::index_sequence;
using std::integer_sequence;
using std::make_index_sequence;
using std::make_integer_sequence;
using std::index_sequence_for;
// [pairs], class template pair
using std::pair;
#if _LIBCPP_STD_VER >= 23
using std::basic_common_reference;
using std::common_type;
#endif
// [pairs.spec], pair specialized algorithms
using std::operator==;
using std::operator<=>;
using std::make_pair;
// [pair.astuple], tuple-like access to pair
using std::tuple_element;
using std::tuple_size;
using std::get;
// [pair.piecewise], pair piecewise construction
using std::piecewise_construct;
using std::piecewise_construct_t;
// in-place construction
using std::in_place;
using std::in_place_t;
using std::in_place_type;
using std::in_place_type_t;
using std::in_place_index;
using std::in_place_index_t;
// [depr.relops]
namespace rel_ops {
using rel_ops::operator!=;
using rel_ops::operator>;
using rel_ops::operator<=;
using rel_ops::operator>=;
} // namespace rel_ops
} // namespace std