This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.
Section: 10.2 [fund.ts.v2::iterator.ostream.joiner] Status: TS Submitter: Nate Wilson Opened: 2015-05-03 Last modified: 2017-07-30
Priority: 0
View all issues with TS status.
Discussion:
Addresses: fund.ts.v2
In Library Fundamentals 2 N4481, [iterator.ostream.joiner], all operations are no-ops other than the assignment operator.
So, they should be marked as noexcept.[2015-05, Lenexa]
Move to Immediate.
Proposed resolution:
This wording is relative to N4481 in regard to fundamental-ts-2 changes.
Change class template ostream_joiner synopsis, [iterator.ostream.joiner] p2, as indicated:
namespace std { namespace experimental { inline namespace fundamentals_v2 { template <class DelimT, class charT = char, class traits = char_traits<charT> > class ostream_joiner { public: […] ostream_joiner<DelimT, charT,traits>& operator*() noexcept; ostream_joiner<DelimT, charT,traits>& operator++() noexcept; ostream_joiner<DelimT, charT,traits>& operator++(int) noexcept; […] }; } // inline namespace fundamentals_v2 } // namespace experimental } // namespace std
Change [iterator.ostream.joiner.ops] p3+5, as indicated:
ostream_joiner<DelimT, charT, traits>& operator*() noexcept;[…]
ostream_joiner<DelimT, charT, traits>& operator++() noexcept; ostream_joiner<DelimT, charT, traits>& operator++(int) noexcept;