2 //===--------------------------- string ----------------------------------===//
4 // The LLVM Compiler Infrastructure
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
9 //===----------------------------------------------------------------------===//
11 #ifndef _LIBCPP_EXPERIMENTAL_STRING
12 #define _LIBCPP_EXPERIMENTAL_STRING
14 experimental/string synopsis
18 namespace experimental {
19 inline namespace fundamentals_v1 {
22 // basic_string using polymorphic allocator in namespace pmr
23 template <class charT, class traits = char_traits<charT>>
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;
35 } // namespace fundamentals_v1
36 } // namespace experimental
41 #include <experimental/__config>
43 #include <experimental/memory_resource>
45 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
46 #pragma GCC system_header
49 _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
51 template <class _CharT, class _Traits = char_traits<_CharT>>
53 _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>;
55 typedef basic_string<char> string;
56 typedef basic_string<char16_t> u16string;
57 typedef basic_string<char32_t> u32string;
58 typedef basic_string<wchar_t> wstring;
60 _LIBCPP_END_NAMESPACE_LFTS_PMR
62 #endif /* _LIBCPP_EXPERIMENTAL_STRING */