Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / libcxx / include / experimental / string
blob4edbf98b5f73b191efb3df7f45a7c960070400fc
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 //===----------------------------------------------------------------------===//
10 #ifndef _LIBCPP_EXPERIMENTAL_STRING
11 #define _LIBCPP_EXPERIMENTAL_STRING
14     experimental/string synopsis
16 // C++1z
17 namespace std {
18 namespace experimental {
19 inline namespace fundamentals_v1 {
20 namespace pmr {
22   // basic_string using polymorphic allocator in namespace pmr
23   template <class charT, class traits = char_traits<charT>>
24    using basic_string =
25      std::basic_string<charT, traits, polymorphic_allocator<charT>>;
27   // basic_string typedef names using polymorphic allocator in namespace
28   // std::experimental::pmr
29   typedef basic_string<char> string;
30   typedef basic_string<char16_t> u16string;
31   typedef basic_string<char32_t> u32string;
32   typedef basic_string<wchar_t> wstring;
34 } // namespace pmr
35 } // namespace fundamentals_v1
36 } // namespace experimental
37 } // namespace std
39  */
41 #include <__assert> // all public C++ headers provide the assertion handler
42 #include <experimental/__config>
43 #include <experimental/memory_resource>
44 #include <string>
46 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
47 #  pragma GCC system_header
48 #endif
50 _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
52 #ifndef _LIBCPP_CXX03_LANG
54 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
56 template <class _CharT, class _Traits = char_traits<_CharT>>
57 using basic_string =
58     _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>;
60 _LIBCPP_DEPCREATED_MEMORY_RESOURCE("string") typedef basic_string<char> string;
61 _LIBCPP_DEPCREATED_MEMORY_RESOURCE("u16string") typedef basic_string<char16_t> u16string;
62 _LIBCPP_DEPCREATED_MEMORY_RESOURCE("u32string") typedef basic_string<char32_t> u32string;
63 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
64 _LIBCPP_DEPCREATED_MEMORY_RESOURCE("wstring") typedef basic_string<wchar_t> wstring;
65 #endif
67 _LIBCPP_SUPPRESS_DEPRECATED_POP
69 #endif // _LIBCPP_CXX03_LANG
71 _LIBCPP_END_NAMESPACE_LFTS_PMR
73 #endif /* _LIBCPP_EXPERIMENTAL_STRING */