• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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