summaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/libcxxcuda11/include/experimental/string
diff options
context:
space:
mode:
authormikhnenko <[email protected]>2024-11-13 19:49:47 +0300
committermikhnenko <[email protected]>2024-11-13 20:05:17 +0300
commit3a1f180ce38fcdb92d6e67966a1c7e957ff9bcc9 (patch)
treee784fb8ca03783bbc1c10d76dc899a7328063657 /contrib/libs/cxxsupp/libcxxcuda11/include/experimental/string
parent593d804b3cb5202c629726e873c66ce3eb20b1a7 (diff)
Freeze libcxx for cuda without c++20 support
commit_hash:c2eb32b5cb16638c17c6fc6900738f26ba6eca49
Diffstat (limited to 'contrib/libs/cxxsupp/libcxxcuda11/include/experimental/string')
-rw-r--r--contrib/libs/cxxsupp/libcxxcuda11/include/experimental/string73
1 files changed, 73 insertions, 0 deletions
diff --git a/contrib/libs/cxxsupp/libcxxcuda11/include/experimental/string b/contrib/libs/cxxsupp/libcxxcuda11/include/experimental/string
new file mode 100644
index 00000000000..4edbf98b5f7
--- /dev/null
+++ b/contrib/libs/cxxsupp/libcxxcuda11/include/experimental/string
@@ -0,0 +1,73 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP_EXPERIMENTAL_STRING
+#define _LIBCPP_EXPERIMENTAL_STRING
+
+/*
+ experimental/string synopsis
+
+// C++1z
+namespace std {
+namespace experimental {
+inline namespace fundamentals_v1 {
+namespace pmr {
+
+ // basic_string using polymorphic allocator in namespace pmr
+ template <class charT, class traits = char_traits<charT>>
+ using basic_string =
+ std::basic_string<charT, traits, polymorphic_allocator<charT>>;
+
+ // basic_string typedef names using polymorphic allocator in namespace
+ // std::experimental::pmr
+ typedef basic_string<char> string;
+ typedef basic_string<char16_t> u16string;
+ typedef basic_string<char32_t> u32string;
+ typedef basic_string<wchar_t> wstring;
+
+} // namespace pmr
+} // namespace fundamentals_v1
+} // namespace experimental
+} // namespace std
+
+ */
+
+#include <__assert> // all public C++ headers provide the assertion handler
+#include <experimental/__config>
+#include <experimental/memory_resource>
+#include <string>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR
+
+#ifndef _LIBCPP_CXX03_LANG
+
+_LIBCPP_SUPPRESS_DEPRECATED_PUSH
+
+template <class _CharT, class _Traits = char_traits<_CharT>>
+using basic_string =
+ _VSTD::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>;
+
+_LIBCPP_DEPCREATED_MEMORY_RESOURCE("string") typedef basic_string<char> string;
+_LIBCPP_DEPCREATED_MEMORY_RESOURCE("u16string") typedef basic_string<char16_t> u16string;
+_LIBCPP_DEPCREATED_MEMORY_RESOURCE("u32string") typedef basic_string<char32_t> u32string;
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+_LIBCPP_DEPCREATED_MEMORY_RESOURCE("wstring") typedef basic_string<wchar_t> wstring;
+#endif
+
+_LIBCPP_SUPPRESS_DEPRECATED_POP
+
+#endif // _LIBCPP_CXX03_LANG
+
+_LIBCPP_END_NAMESPACE_LFTS_PMR
+
+#endif /* _LIBCPP_EXPERIMENTAL_STRING */