aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2015-05-02 19:03:20 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2015-05-02 19:03:20 +0100
commitb4f504de775cfbb362943f5bc37771623499c432 (patch)
tree52de215bb71c751bbe99dae63156fa75d8966345
parenta623b6f0116e4d8ad004fcdc665c2395eddc6953 (diff)
downloadgcc-b4f504de775cfbb362943f5bc37771623499c432.zip
gcc-b4f504de775cfbb362943f5bc37771623499c432.tar.gz
gcc-b4f504de775cfbb362943f5bc37771623499c432.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/include/experimental/iterator22
2 files changed, 9 insertions, 16 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 4f5fa68..7c8ed66 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,8 @@
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/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
diff --git a/libstdc++-v3/include/experimental/iterator b/libstdc++-v3/include/experimental/iterator
index 027043a..9a38f6b 100644
--- a/libstdc++-v3/include/experimental/iterator
+++ b/libstdc++-v3/include/experimental/iterator
@@ -80,7 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ }
template<typename _Tp>
- ostream_joiner<_DelimT, _CharT, _Traits>&
+ ostream_joiner&
operator=(const _Tp& __value)
{
if (!_M_first)
@@ -90,20 +90,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return *this;
}
- ostream_joiner<_DelimT, _CharT, _Traits>&
- operator*() noexcept
- { return *this; }
-
- ostream_joiner<_DelimT, _CharT, _Traits>&
- operator++() noexcept
- { return *this; }
-
- ostream_joiner<_DelimT, _CharT, _Traits>&
- operator++(int) noexcept
- { return *this; }
+ ostream_joiner& operator*() noexcept { return *this; }
+ ostream_joiner& operator++() noexcept { return *this; }
+ ostream_joiner& operator++(int) noexcept { return *this; }
private:
- basic_ostream<_CharT, _Traits>* _M_out;
+ ostream_type* _M_out;
_DelimT _M_delim;
bool _M_first = true;
};
@@ -113,9 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline ostream_joiner<decay_t<_DelimT>, _CharT, _Traits>
make_ostream_joiner(basic_ostream<_CharT, _Traits>& __os,
_DelimT&& __delimiter)
- {
- return { __os, std::forward<_DelimT>(__delimiter) };
- }
+ { return { __os, std::forward<_DelimT>(__delimiter) }; }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace fundamentals_v2