blob: 8b8545128f2ac3641883a79a4e7942c0df523923 [file] [log] [blame]
Eric Fiselierdba23b42016-05-07 03:09:55 +00001// -*- 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 */