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