Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-03 08:13:52

0001 // -*- C++ -*-
0002 //===---------------------------------------------------------------------===//
0003 //
0004 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0005 // See https://llvm.org/LICENSE.txt for license information.
0006 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0007 //
0008 //===---------------------------------------------------------------------===//
0009 
0010 #ifndef _LIBCPP___FWD_STRING_VIEW_H
0011 #define _LIBCPP___FWD_STRING_VIEW_H
0012 
0013 #include <__config>
0014 #include <__fwd/string.h>
0015 
0016 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
0017 #  pragma GCC system_header
0018 #endif
0019 
0020 _LIBCPP_BEGIN_NAMESPACE_STD
0021 
0022 template <class _CharT, class _Traits = char_traits<_CharT> >
0023 class _LIBCPP_TEMPLATE_VIS basic_string_view;
0024 
0025 typedef basic_string_view<char> string_view;
0026 #if _LIBCPP_HAS_CHAR8_T
0027 typedef basic_string_view<char8_t> u8string_view;
0028 #endif
0029 typedef basic_string_view<char16_t> u16string_view;
0030 typedef basic_string_view<char32_t> u32string_view;
0031 #if _LIBCPP_HAS_WIDE_CHARACTERS
0032 typedef basic_string_view<wchar_t> wstring_view;
0033 #endif
0034 
0035 // clang-format off
0036 template <class _CharT, class _Traits>
0037 class _LIBCPP_PREFERRED_NAME(string_view)
0038 #if _LIBCPP_HAS_WIDE_CHARACTERS
0039       _LIBCPP_PREFERRED_NAME(wstring_view)
0040 #endif
0041 #if _LIBCPP_HAS_CHAR8_T
0042       _LIBCPP_PREFERRED_NAME(u8string_view)
0043 #endif
0044       _LIBCPP_PREFERRED_NAME(u16string_view)
0045       _LIBCPP_PREFERRED_NAME(u32string_view)
0046       basic_string_view;
0047 // clang-format on
0048 _LIBCPP_END_NAMESPACE_STD
0049 
0050 #endif // _LIBCPP___FWD_STRING_VIEW_H