xref: /aosp_15_r20/external/libcxx/include/experimental/string (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
1*58b9f456SAndroid Build Coastguard Worker// -*- C++ -*-
2*58b9f456SAndroid Build Coastguard Worker//===--------------------------- string ----------------------------------===//
3*58b9f456SAndroid Build Coastguard Worker//
4*58b9f456SAndroid Build Coastguard Worker//                     The LLVM Compiler Infrastructure
5*58b9f456SAndroid Build Coastguard Worker//
6*58b9f456SAndroid Build Coastguard Worker// This file is dual licensed under the MIT and the University of Illinois Open
7*58b9f456SAndroid Build Coastguard Worker// Source Licenses. See LICENSE.TXT for details.
8*58b9f456SAndroid Build Coastguard Worker//
9*58b9f456SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
10*58b9f456SAndroid Build Coastguard Worker
11*58b9f456SAndroid Build Coastguard Worker#ifndef _LIBCPP_EXPERIMENTAL_STRING
12*58b9f456SAndroid Build Coastguard Worker#define _LIBCPP_EXPERIMENTAL_STRING
13*58b9f456SAndroid Build Coastguard Worker/*
14*58b9f456SAndroid Build Coastguard Worker    experimental/string synopsis
15*58b9f456SAndroid Build Coastguard Worker
16*58b9f456SAndroid Build Coastguard Worker// C++1z
17*58b9f456SAndroid Build Coastguard Workernamespace std {
18*58b9f456SAndroid Build Coastguard Workernamespace experimental {
19*58b9f456SAndroid Build Coastguard Workerinline namespace fundamentals_v1 {
20*58b9f456SAndroid Build Coastguard Workernamespace pmr {
21*58b9f456SAndroid Build Coastguard Worker
22*58b9f456SAndroid Build Coastguard Worker  // basic_string using polymorphic allocator in namespace pmr
23*58b9f456SAndroid Build Coastguard Worker  template <class charT, class traits = char_traits<charT>>
24*58b9f456SAndroid Build Coastguard Worker   using basic_string =
25*58b9f456SAndroid Build Coastguard Worker     std::basic_string<charT, traits, polymorphic_allocator<charT>>;
26*58b9f456SAndroid Build Coastguard Worker
27*58b9f456SAndroid Build Coastguard Worker  // basic_string typedef names using polymorphic allocator in namespace
28*58b9f456SAndroid Build Coastguard Worker  // std::experimental::pmr
29*58b9f456SAndroid Build Coastguard Worker  typedef basic_string<char> string;
30*58b9f456SAndroid Build Coastguard Worker  typedef basic_string<char16_t> u16string;
31*58b9f456SAndroid Build Coastguard Worker  typedef basic_string<char32_t> u32string;
32*58b9f456SAndroid Build Coastguard Worker  typedef basic_string<wchar_t> wstring;
33*58b9f456SAndroid Build Coastguard Worker
34*58b9f456SAndroid Build Coastguard Worker} // namespace pmr
35*58b9f456SAndroid Build Coastguard Worker} // namespace fundamentals_v1
36*58b9f456SAndroid Build Coastguard Worker} // namespace experimental
37*58b9f456SAndroid Build Coastguard Worker} // namespace std
38*58b9f456SAndroid Build Coastguard Worker
39*58b9f456SAndroid Build Coastguard Worker */
40*58b9f456SAndroid Build Coastguard Worker
41*58b9f456SAndroid Build Coastguard Worker#include <experimental/__config>
42*58b9f456SAndroid Build Coastguard Worker#include <string>
43*58b9f456SAndroid Build Coastguard Worker#include <experimental/memory_resource>
44*58b9f456SAndroid Build Coastguard Worker
45*58b9f456SAndroid Build Coastguard Worker#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
46*58b9f456SAndroid Build Coastguard Worker#pragma GCC system_header
47*58b9f456SAndroid Build Coastguard Worker#endif
48*58b9f456SAndroid Build Coastguard Worker
49*58b9f456SAndroid Build Coastguard Worker_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
50*58b9f456SAndroid Build Coastguard Worker
51*58b9f456SAndroid Build Coastguard Workertemplate <class _CharT, class _Traits = char_traits<_CharT>>
52*58b9f456SAndroid Build Coastguard Workerusing basic_string =
53*58b9f456SAndroid Build Coastguard Worker    _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>;
54*58b9f456SAndroid Build Coastguard Worker
55*58b9f456SAndroid Build Coastguard Workertypedef basic_string<char> string;
56*58b9f456SAndroid Build Coastguard Workertypedef basic_string<char16_t> u16string;
57*58b9f456SAndroid Build Coastguard Workertypedef basic_string<char32_t> u32string;
58*58b9f456SAndroid Build Coastguard Workertypedef basic_string<wchar_t> wstring;
59*58b9f456SAndroid Build Coastguard Worker
60*58b9f456SAndroid Build Coastguard Worker_LIBCPP_END_NAMESPACE_LFTS_PMR
61*58b9f456SAndroid Build Coastguard Worker
62*58b9f456SAndroid Build Coastguard Worker#endif /* _LIBCPP_EXPERIMENTAL_STRING */
63