1*4d6fc14bSjoerg// -*- C++ -*- 2*4d6fc14bSjoerg//===--------------------------- string ----------------------------------===// 3*4d6fc14bSjoerg// 4*4d6fc14bSjoerg// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*4d6fc14bSjoerg// See https://llvm.org/LICENSE.txt for license information. 6*4d6fc14bSjoerg// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*4d6fc14bSjoerg// 8*4d6fc14bSjoerg//===----------------------------------------------------------------------===// 9*4d6fc14bSjoerg 10*4d6fc14bSjoerg#ifndef _LIBCPP_EXPERIMENTAL_STRING 11*4d6fc14bSjoerg#define _LIBCPP_EXPERIMENTAL_STRING 12*4d6fc14bSjoerg/* 13*4d6fc14bSjoerg experimental/string synopsis 14*4d6fc14bSjoerg 15*4d6fc14bSjoerg// C++1z 16*4d6fc14bSjoergnamespace std { 17*4d6fc14bSjoergnamespace experimental { 18*4d6fc14bSjoerginline namespace fundamentals_v1 { 19*4d6fc14bSjoergnamespace pmr { 20*4d6fc14bSjoerg 21*4d6fc14bSjoerg // basic_string using polymorphic allocator in namespace pmr 22*4d6fc14bSjoerg template <class charT, class traits = char_traits<charT>> 23*4d6fc14bSjoerg using basic_string = 24*4d6fc14bSjoerg std::basic_string<charT, traits, polymorphic_allocator<charT>>; 25*4d6fc14bSjoerg 26*4d6fc14bSjoerg // basic_string typedef names using polymorphic allocator in namespace 27*4d6fc14bSjoerg // std::experimental::pmr 28*4d6fc14bSjoerg typedef basic_string<char> string; 29*4d6fc14bSjoerg typedef basic_string<char16_t> u16string; 30*4d6fc14bSjoerg typedef basic_string<char32_t> u32string; 31*4d6fc14bSjoerg typedef basic_string<wchar_t> wstring; 32*4d6fc14bSjoerg 33*4d6fc14bSjoerg} // namespace pmr 34*4d6fc14bSjoerg} // namespace fundamentals_v1 35*4d6fc14bSjoerg} // namespace experimental 36*4d6fc14bSjoerg} // namespace std 37*4d6fc14bSjoerg 38*4d6fc14bSjoerg */ 39*4d6fc14bSjoerg 40*4d6fc14bSjoerg#include <experimental/__config> 41*4d6fc14bSjoerg#include <string> 42*4d6fc14bSjoerg#include <experimental/memory_resource> 43*4d6fc14bSjoerg 44*4d6fc14bSjoerg#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 45*4d6fc14bSjoerg#pragma GCC system_header 46*4d6fc14bSjoerg#endif 47*4d6fc14bSjoerg 48*4d6fc14bSjoerg_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 49*4d6fc14bSjoerg 50*4d6fc14bSjoergtemplate <class _CharT, class _Traits = char_traits<_CharT>> 51*4d6fc14bSjoergusing basic_string = 52*4d6fc14bSjoerg _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; 53*4d6fc14bSjoerg 54*4d6fc14bSjoergtypedef basic_string<char> string; 55*4d6fc14bSjoergtypedef basic_string<char16_t> u16string; 56*4d6fc14bSjoergtypedef basic_string<char32_t> u32string; 57*4d6fc14bSjoergtypedef basic_string<wchar_t> wstring; 58*4d6fc14bSjoerg 59*4d6fc14bSjoerg_LIBCPP_END_NAMESPACE_LFTS_PMR 60*4d6fc14bSjoerg 61*4d6fc14bSjoerg#endif /* _LIBCPP_EXPERIMENTAL_STRING */ 62