| // -*- 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 |
| // |
| //===----------------------------------------------------------------------===// |
| |
| module; |
| #include <variant> |
| |
| export module std:variant; |
| export namespace std { |
| // [variant.variant], class template variant |
| using std::variant; |
| |
| // [variant.helper], variant helper classes |
| using std::variant_alternative; |
| using std::variant_npos; |
| using std::variant_size; |
| using std::variant_size_v; |
| |
| // [variant.get], value access |
| using std::get; |
| using std::get_if; |
| using std::holds_alternative; |
| using std::variant_alternative_t; |
| |
| // [variant.relops], relational operators |
| using std::operator==; |
| using std::operator!=; |
| using std::operator<; |
| using std::operator>; |
| using std::operator<=; |
| using std::operator>=; |
| using std::operator<=>; |
| |
| // [variant.visit], visitation |
| using std::visit; |
| |
| // [variant.monostate], class monostate |
| using std::monostate; |
| |
| // [variant.specalg], specialized algorithms |
| using std::swap; |
| |
| // [variant.bad.access], class bad_variant_access |
| using std::bad_variant_access; |
| |
| // [variant.hash], hash support |
| using std::hash; |
| } // namespace std |