Add noexcept
annotations to iterators.
I couldn't find any sepecification in the standard, but I'd assume that since
begin
and end
are both noexcept
, the iterator copy constructors must be.
To justify adding noexcept
to these members, see 17.6.3.5 (part of the
allocator requirements) of n3485, which says about allocator's pointer types,
"No constructor, comparison operator, copy operation, move operation, or swap
operation on these types shall exit via an exception."
Not relevant in this case but allocator pointers also need to model
NullablePointer. From 17.6.3.3, "No operation which is part of the
NullablePointer requirements shall exit via an exception."