| // -*- 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 { | |
| // [optional.optional], class template optional | |
| using std::optional; | |
| #if _LIBCPP_STD_VER >= 26 && _LIBCPP_HAS_EXPERIMENTAL_OPTIONAL_ITERATOR | |
| // [optional.iterators], iterator support | |
| namespace ranges { | |
| using std::ranges::enable_borrowed_range; | |
| using std::ranges::enable_view; | |
| } // namespace ranges | |
| #endif | |
| // [optional.nullopt], no-value state indicator | |
| using std::nullopt; | |
| using std::nullopt_t; | |
| // [optional.bad.access], class bad_optional_access | |
| using std::bad_optional_access; | |
| #if _LIBCPP_STD_VER >= 26 && _LIBCPP_HAS_EXPERIMENTAL_OPTIONAL_ITERATOR | |
| using std::format_kind; | |
| #endif | |
| // [optional.relops], relational operators | |
| using std::operator==; | |
| using std::operator!=; | |
| using std::operator<; | |
| using std::operator>; | |
| using std::operator<=; | |
| using std::operator>=; | |
| using std::operator<=>; | |
| // [optional.specalg], specialized algorithms | |
| using std::swap; | |
| using std::make_optional; | |
| // [optional.hash], hash support | |
| using std::hash; | |
| } // namespace std |