xref: /freebsd/contrib/llvm-project/libcxx/modules/std/string_view.inc (revision b3edf4467982447620505a28fc82e38a414c07dc)
15f757f3fSDimitry Andric// -*- C++ -*-
25f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
35f757f3fSDimitry Andric//
45f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
55f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
65f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
75f757f3fSDimitry Andric//
85f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
95f757f3fSDimitry Andric
105f757f3fSDimitry Andricexport namespace std {
115f757f3fSDimitry Andric  // [string.view.template], class template basic_string_view
125f757f3fSDimitry Andric  using std::basic_string_view;
135f757f3fSDimitry Andric
145f757f3fSDimitry Andric  namespace ranges {
155f757f3fSDimitry Andric    using std::ranges::enable_borrowed_range;
165f757f3fSDimitry Andric    using std::ranges::enable_view;
175f757f3fSDimitry Andric  } // namespace ranges
185f757f3fSDimitry Andric
195f757f3fSDimitry Andric  // [string.view.comparison], non-member comparison functions
205f757f3fSDimitry Andric  using std::operator==;
215f757f3fSDimitry Andric  using std::operator<=>;
225f757f3fSDimitry Andric
235f757f3fSDimitry Andric  // [string.view.io], inserters and extractors
245f757f3fSDimitry Andric  using std::operator<<;
255f757f3fSDimitry Andric
265f757f3fSDimitry Andric  // basic_string_view typedef-names
275f757f3fSDimitry Andric  using std::string_view;
285f757f3fSDimitry Andric  using std::u16string_view;
295f757f3fSDimitry Andric  using std::u32string_view;
30*b3edf446SDimitry Andric#ifndef _LIBCPP_HAS_NO_CHAR8_T
315f757f3fSDimitry Andric  using std::u8string_view;
32*b3edf446SDimitry Andric#endif
335f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
345f757f3fSDimitry Andric  using std::wstring_view;
355f757f3fSDimitry Andric#endif
365f757f3fSDimitry Andric
375f757f3fSDimitry Andric  // [string.view.hash], hash support
385f757f3fSDimitry Andric  using std::hash;
395f757f3fSDimitry Andric
405f757f3fSDimitry Andric  inline namespace literals {
415f757f3fSDimitry Andric    inline namespace string_view_literals {
425f757f3fSDimitry Andric      // [string.view.literals], suffix for basic_string_view literals
435f757f3fSDimitry Andric      using std::literals::string_view_literals::operator""sv;
445f757f3fSDimitry Andric    } // namespace string_view_literals
455f757f3fSDimitry Andric  }   // namespace literals
465f757f3fSDimitry Andric} // namespace std
47