1// -*- C++ -*- 2//===--------------------------- string ----------------------------------===// 3// 4// The LLVM Compiler Infrastructure 5// 6// This file is dual licensed under the MIT and the University of Illinois Open 7// Source Licenses. See LICENSE.TXT for details. 8// 9//===----------------------------------------------------------------------===// 10 11#ifndef _LIBCPP_EXPERIMENTAL_STRING 12#define _LIBCPP_EXPERIMENTAL_STRING 13/* 14 experimental/string synopsis 15 16// C++1z 17namespace std { 18namespace experimental { 19inline namespace fundamentals_v1 { 20namespace pmr { 21 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>>; 26 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; 33 34} // namespace pmr 35} // namespace fundamentals_v1 36} // namespace experimental 37} // namespace std 38 39 */ 40 41#include <experimental/__config> 42#include <string> 43#include <experimental/memory_resource> 44 45#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 46#pragma GCC system_header 47#endif 48 49_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 50 51template <class _CharT, class _Traits = char_traits<_CharT>> 52using basic_string = 53 _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; 54 55typedef basic_string<char> string; 56typedef basic_string<char16_t> u16string; 57typedef basic_string<char32_t> u32string; 58typedef basic_string<wchar_t> wstring; 59 60_LIBCPP_END_NAMESPACE_LFTS_PMR 61 62#endif /* _LIBCPP_EXPERIMENTAL_STRING */ 63