[PUSHED] Re: [PATCH] converts SV_DECL_PTRARR in SVX module
Michael Stahl
mstahl at redhat.com
Thu Apr 19 04:32:15 PDT 2012
On 18/04/12 17:27, Noel Grandin wrote:
> These patches convert the usage of SV_DECL_PTRARR in SVX module to
> std::set, std::vector and boost::ptr_vector variously.
>
> Survived a "make svx.check" and a "make subsequentcheck" (at least up
> until the point at which my Ubuntu box has a problem with one of the
> smoketest checks).
great, i've pushed them now, with a minor tweak to fix some signed vs.
unsigned comparison warnings in debug assertions.
the one change that had me concerned for a while is this:
> - m_arrCurrentSelection.Remove( i - 1, 1 );
> + m_arrCurrentSelection.erase( --(it.base()) );
where it is a std::set::reverse_iterator; but it seems like this is
actually correct because the reverse_iterator is a wrapper for an
iterator that points 1 element ahead, such that the --(it.base())
expression will return an iterator that points to the same element as
the reverse_iterator, and furthermore the reverse_iterator is not
actually invalidated by the erase because internally it points one
element ahead.
googling found me this relevant mail:
http://lists.boost.org/Archives/boost/2001/07/14701.php
> License is on file.
we know you by now, no need to write that in every mail :)
More information about the LibreOffice
mailing list