diff mbox

[v3] Use noexcept in streambuf iterators

Message ID 4DDAE8AD.50500@oracle.com
State New
Headers show

Commit Message

Paolo Carlini May 23, 2011, 11:07 p.m. UTC
Hi,

tested x86_64-linux, committed to mainline.

Paolo.

//////////////////////
2011-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/streambuf_iterator.h: Use noexcept per the FDIS.
	(istreambuf_iterator<>::istreambuf_iterator(const
	istreambuf_iterator&),  ~istreambuf_iterator()): Add defaulted
	in C++0x mode.
diff mbox

Patch

Index: include/bits/streambuf_iterator.h
===================================================================
--- include/bits/streambuf_iterator.h	(revision 174092)
+++ include/bits/streambuf_iterator.h	(working copy)
@@ -95,15 +95,21 @@ 
 
     public:
       ///  Construct end of input stream iterator.
-      _GLIBCXX_CONSTEXPR istreambuf_iterator() throw()
+      _GLIBCXX_CONSTEXPR istreambuf_iterator() _GLIBCXX_USE_NOEXCEPT
       : _M_sbuf(0), _M_c(traits_type::eof()) { }
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+      istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
+
+      ~istreambuf_iterator() = default;
+#endif
+
       ///  Construct start of input stream iterator.
-      istreambuf_iterator(istream_type& __s) throw()
+      istreambuf_iterator(istream_type& __s) _GLIBCXX_USE_NOEXCEPT
       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
 
       ///  Construct start of streambuf iterator.
-      istreambuf_iterator(streambuf_type* __s) throw()
+      istreambuf_iterator(streambuf_type* __s) _GLIBCXX_USE_NOEXCEPT
       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
 
       ///  Return the current character pointed to by iterator.  This returns
@@ -228,11 +234,11 @@ 
 
     public:
       ///  Construct output iterator from ostream.
-      ostreambuf_iterator(ostream_type& __s) throw ()
+      ostreambuf_iterator(ostream_type& __s) _GLIBCXX_USE_NOEXCEPT
       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
 
       ///  Construct output iterator from streambuf.
-      ostreambuf_iterator(streambuf_type* __s) throw ()
+      ostreambuf_iterator(streambuf_type* __s) _GLIBCXX_USE_NOEXCEPT
       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
 
       ///  Write character to streambuf.  Calls streambuf.sputc().
@@ -262,7 +268,7 @@ 
 
       /// Return true if previous operator=() failed.
       bool
-      failed() const throw()
+      failed() const _GLIBCXX_USE_NOEXCEPT
       { return _M_failed; }
 
       ostreambuf_iterator&