Home | History | Annotate | Download | only in experimental
      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
     17 namespace std {
     18 namespace experimental {
     19 inline namespace fundamentals_v1 {
     20 namespace 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 
     51 template <class _CharT, class _Traits = char_traits<_CharT>>
     52 using basic_string =
     53     _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>;
     54 
     55 typedef basic_string<char> string;
     56 typedef basic_string<char16_t> u16string;
     57 typedef basic_string<char32_t> u32string;
     58 typedef basic_string<wchar_t> wstring;
     59 
     60 _LIBCPP_END_NAMESPACE_LFTS_PMR
     61 
     62 #endif /* _LIBCPP_EXPERIMENTAL_STRING */
     63