Created
June 4, 2017 17:55
-
-
Save uxp/effe09f08ea75338fadfd6fcddda0d6b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h | |
index cd6037677df2..a629390c7896 100644 | |
--- a/libstdc++-v3/include/bits/basic_string.h | |
+++ b/libstdc++-v3/include/bits/basic_string.h | |
@@ -2811,7 +2811,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
inline basic_istream<_CharT, _Traits>& | |
getline(basic_istream<_CharT, _Traits>& __is, | |
basic_string<_CharT, _Traits, _Alloc>& __str) | |
- { return getline(__is, __str, __is.widen('\n')); } | |
+ { return std::getline(__is, __str, __is.widen('\n')); } | |
+ | |
+#if __cplusplus >= 201103L | |
+ /// Read a line from an rvalue stream into a string. | |
+ template<typename _CharT, typename _Traits, typename _Alloc> | |
+ inline basic_istream<_CharT, _Traits>& | |
+ getline(basic_istream<_CharT, _Traits>&& __is, | |
+ basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) | |
+ { return std::getline(__is, __str, __delim); } | |
+ | |
+ /// Read a line from an rvalue stream into a string. | |
+ template<typename _CharT, typename _Traits, typename _Alloc> | |
+ inline basic_istream<_CharT, _Traits>& | |
+ getline(basic_istream<_CharT, _Traits>&& __is, | |
+ basic_string<_CharT, _Traits, _Alloc>& __str) | |
+ { return std::getline(__is, __str); } | |
+#endif | |
template<> | |
basic_istream<char>& | |
@@ -2828,8 +2844,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
_GLIBCXX_END_NAMESPACE_VERSION | |
} // namespace | |
-#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ | |
- && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) | |
+#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) | |
#include <ext/string_conversions.h> | |
@@ -2979,6 +2994,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
stold(const wstring& __str, size_t* __idx = 0) | |
{ return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } | |
+#ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF | |
// DR 1261. | |
inline wstring | |
to_wstring(int __val) | |
@@ -3040,6 +3056,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n, | |
L"%Lf", __val); | |
} | |
+#endif // _GLIBCXX_HAVE_BROKEN_VSWPRINTF | |
#endif | |
_GLIBCXX_END_NAMESPACE_VERSION | |
@@ -3124,6 +3141,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |
#if __cplusplus > 201103L | |
+#define __cpp_lib_string_udls 201304 | |
+ | |
inline namespace literals | |
{ | |
inline namespace string_literals |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment