• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <string_view>
12
13export module std:string_view;
14export namespace std {
15  // [string.view.template], class template basic_string_view
16  using std::basic_string_view;
17
18  namespace ranges {
19    using std::ranges::enable_borrowed_range;
20    using std::ranges::enable_view;
21  } // namespace ranges
22
23  // [string.view.comparison], non-member comparison functions
24  using std::operator==;
25  using std::operator<=>;
26
27  // [string.view.io], inserters and extractors
28  using std::operator<<;
29
30  // basic_string_view typedef-names
31  using std::string_view;
32  using std::u16string_view;
33  using std::u32string_view;
34  using std::u8string_view;
35#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
36  using std::wstring_view;
37#endif
38
39  // [string.view.hash], hash support
40  using std::hash;
41
42  inline namespace literals {
43    inline namespace string_view_literals {
44      // [string.view.literals], suffix for basic_string_view literals
45      using std::literals::string_view_literals::operator"" sv;
46    } // namespace string_view_literals
47  }   // namespace literals
48} // namespace std
49