ostream_joiner needs noexceptSection: 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 asnoexcept.
[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;