On 07/18/2012 08:09 PM, Lubos Lunak wrote:
What you want is broken. It is definitely broken from the theoretical point
of view, since modifying the items may change the sort order.
While one can argue that it is broken, in practice I would not bother
trying too hard to make the code safe against shooting-in-one's-foot at
the expense of simplicity. Whether or not making non-const element
access available for sorted_vector<T,C> is safe depends on both T
(element type) and C (comparison function), and e.g. adding a
specialization so that sorted_vector<T*> only gives access to T const*
can be OK or overly restrictive.
Quoting an answer I inadvertently only sent to Noel directly:
"Yeah, the 'only give const element access to avoid element
modifications that invalidate container invariants' strategy is
apparently not perfect.
"If you do need non-const access, there's no way around it than to offer
it---and being careful not to accidentally invalidate the container's
sortedness."
Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice