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 <optional> 12 13export module std:optional; 14export namespace std { 15 // [optional.optional], class template optional 16 using std::optional; 17 18 // [optional.nullopt], no-value state indicator 19 using std::nullopt; 20 using std::nullopt_t; 21 22 // [optional.bad.access], class bad_optional_access 23 using std::bad_optional_access; 24 25 // [optional.relops], relational operators 26 using std::operator==; 27 using std::operator!=; 28 using std::operator<; 29 using std::operator>; 30 using std::operator<=; 31 using std::operator>=; 32 using std::operator<=>; 33 34 // [optional.specalg], specialized algorithms 35 using std::swap; 36 37 using std::make_optional; 38 39 // [optional.hash], hash support 40 using std::hash; 41} // namespace std 42