Unless otherwise specified (either explicitly or by defining a function in terms of other functions), invoking a container member function or passing a container as an argument to a library function shall not invalidate iterators to, or change the values of, objects within that container.
Hello,
To quote http://eel.is/c++draft/sequences#forwardlist.modifiers-1:
None of the overloads of insert_after shall affect the validity of
iterators and references, [...].
And, to quote http://eel.is/c++draft/sequences#forwardlist.modifiers-3
on push_front: Effects: Inserts a copy of x at the beginning of the
list.
So, there is no requirement that performing push_front on an
std::forward_list object shall not invalidate any iterators and/or
references.
Isn't this a defect in the standard, considering that
https://en.cppreference.com/w/cpp/container/forward_list/push_front
claims that no iterators and references will be invalidated by
push_front?
Thank you.
--
Best regards,
Tadeus
--
Std-Discussion mailing list
Std-Discussion@lists.isocpp.org
http://lists.isocpp.org/mailman/listinfo.cgi/std-discussion