Commit b4f504de by Jonathan Wakely Committed by Jonathan Wakely

iterator (ostream_joiner): Simplify by using the injected-class-name and the ostream_type typedef.

	* include/experimental/iterator (ostream_joiner): Simplify by using
	the injected-class-name and the ostream_type typedef.

From-SVN: r222728
parent a623b6f0
2015-05-02 Jonathan Wakely <jwakely@redhat.com> 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
* include/experimental/iterator (ostream_joiner): Simplify by using
the injected-class-name and the ostream_type typedef.
* include/experimental/iterator: New. Define ostream_joiner. * include/experimental/iterator: New. Define ostream_joiner.
* include/Makefile.am: Add new header. * include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate. * include/Makefile.in: Regenerate.
......
...@@ -80,7 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -80,7 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ } { }
template<typename _Tp> template<typename _Tp>
ostream_joiner<_DelimT, _CharT, _Traits>& ostream_joiner&
operator=(const _Tp& __value) operator=(const _Tp& __value)
{ {
if (!_M_first) if (!_M_first)
...@@ -90,20 +90,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -90,20 +90,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return *this; return *this;
} }
ostream_joiner<_DelimT, _CharT, _Traits>& ostream_joiner& operator*() noexcept { return *this; }
operator*() noexcept ostream_joiner& operator++() noexcept { return *this; }
{ return *this; } ostream_joiner& operator++(int) noexcept { return *this; }
ostream_joiner<_DelimT, _CharT, _Traits>&
operator++() noexcept
{ return *this; }
ostream_joiner<_DelimT, _CharT, _Traits>&
operator++(int) noexcept
{ return *this; }
private: private:
basic_ostream<_CharT, _Traits>* _M_out; ostream_type* _M_out;
_DelimT _M_delim; _DelimT _M_delim;
bool _M_first = true; bool _M_first = true;
}; };
...@@ -113,9 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -113,9 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline ostream_joiner<decay_t<_DelimT>, _CharT, _Traits> inline ostream_joiner<decay_t<_DelimT>, _CharT, _Traits>
make_ostream_joiner(basic_ostream<_CharT, _Traits>& __os, make_ostream_joiner(basic_ostream<_CharT, _Traits>& __os,
_DelimT&& __delimiter) _DelimT&& __delimiter)
{ { return { __os, std::forward<_DelimT>(__delimiter) }; }
return { __os, std::forward<_DelimT>(__delimiter) };
}
_GLIBCXX_END_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION
} // namespace fundamentals_v2 } // namespace fundamentals_v2
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment