From 464aa5cad3a94a3bc599e8999a270694873f48a0 Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Mon, 18 Jul 2011 15:51:59 +0000 Subject: [PATCH] http://llvm.org/bugs/show_bug.cgi?id=10390 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@135393 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/bitset | 8 ++++++++ include/memory | 6 ++++++ include/string | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/include/bitset b/include/bitset index f0e80279..4d9efd93 100644 --- a/include/bitset +++ b/include/bitset @@ -1033,6 +1033,14 @@ struct _LIBCPP_VISIBLE hash > {return __bs.__hash_code();} }; +template +basic_istream<_CharT, _Traits>& +operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x); + +template +basic_ostream<_CharT, _Traits>& +operator<<(basic_ostream<_CharT, _Traits>& __os, const bitset<_Size>& __x); + _LIBCPP_END_NAMESPACE_STD #endif // _LIBCPP_BITSET diff --git a/include/memory b/include/memory index 3a0064a9..1972d06f 100644 --- a/include/memory +++ b/include/memory @@ -595,6 +595,7 @@ void* align(size_t alignment, size_t size, void*& ptr, size_t& space); #include #include #include <__functional_base> +#include #if defined(_LIBCPP_NO_EXCEPTIONS) #include #endif @@ -4148,6 +4149,11 @@ struct _LIBCPP_VISIBLE hash > } }; +template +inline _LIBCPP_INLINE_VISIBILITY +basic_ostream<_CharT, _Traits>& +operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Y> const& __p); + //enum class struct _LIBCPP_VISIBLE pointer_safety { diff --git a/include/string b/include/string index 7d0d53a3..3f2fe174 100644 --- a/include/string +++ b/include/string @@ -3966,6 +3966,43 @@ hash >::operator()( return __r; } +template +basic_ostream<_CharT, _Traits>& +operator<<(basic_ostream<_CharT, _Traits>& __os, + const basic_string<_CharT, _Traits, _Allocator>& __str); + +template +basic_istream<_CharT, _Traits>& +operator>>(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Allocator>& __str); + +template +basic_istream<_CharT, _Traits>& +getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm); + +template +inline _LIBCPP_INLINE_VISIBILITY +basic_istream<_CharT, _Traits>& +getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Allocator>& __str); + +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + +template +inline _LIBCPP_INLINE_VISIBILITY +basic_istream<_CharT, _Traits>& +getline(basic_istream<_CharT, _Traits>&& __is, + basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm); + +template +inline _LIBCPP_INLINE_VISIBILITY +basic_istream<_CharT, _Traits>& +getline(basic_istream<_CharT, _Traits>&& __is, + basic_string<_CharT, _Traits, _Allocator>& __str); + +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES + extern template class basic_string; extern template class basic_string;