]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/libcxx/include/experimental/string
Merge r358179 through r358238.
[FreeBSD/FreeBSD.git] / contrib / llvm-project / libcxx / include / experimental / string
1 // -*- C++ -*-
2 //===--------------------------- string ----------------------------------===//
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
10 #ifndef _LIBCPP_EXPERIMENTAL_STRING
11 #define _LIBCPP_EXPERIMENTAL_STRING
12 /*
13     experimental/string synopsis
14
15 // C++1z
16 namespace std {
17 namespace experimental {
18 inline namespace fundamentals_v1 {
19 namespace pmr {
20
21   // basic_string using polymorphic allocator in namespace pmr
22   template <class charT, class traits = char_traits<charT>>
23    using basic_string =
24      std::basic_string<charT, traits, polymorphic_allocator<charT>>;
25
26   // basic_string typedef names using polymorphic allocator in namespace
27   // std::experimental::pmr
28   typedef basic_string<char> string;
29   typedef basic_string<char16_t> u16string;
30   typedef basic_string<char32_t> u32string;
31   typedef basic_string<wchar_t> wstring;
32
33 } // namespace pmr
34 } // namespace fundamentals_v1
35 } // namespace experimental
36 } // namespace std
37
38  */
39
40 #include <experimental/__config>
41 #include <string>
42 #include <experimental/memory_resource>
43
44 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
45 #pragma GCC system_header
46 #endif
47
48 _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
49
50 template <class _CharT, class _Traits = char_traits<_CharT>>
51 using basic_string =
52     _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>;
53
54 typedef basic_string<char> string;
55 typedef basic_string<char16_t> u16string;
56 typedef basic_string<char32_t> u32string;
57 typedef basic_string<wchar_t> wstring;
58
59 _LIBCPP_END_NAMESPACE_LFTS_PMR
60
61 #endif /* _LIBCPP_EXPERIMENTAL_STRING */