Hi Howard!

Howard Hinnant wrote:

> For the general container I propose that insert reallocates if size()
> would exceed capacity (invalidating all iterators, pointers and
> references).  And if size() does not exceed capacity, all iterators,
> pointers and references are still invalidated, unless the insert
> happens at one end or the other, in which case no pointers or
> references are invalidated (iterators still are invalidated).  I would
> expect a quality implementation to minimize the number of elements that
> need to be shifted.

This is an interesting idea!

>
> insert in general should have the basic exception safety guarantee.
> But when inserting only one element at either end, the strong guarantee
> is in place.

I think the strong guarantee can reached only in case the cyclic_buffer is not
full (if there is no reallocation).

> Also if the value_type's copy constructor and assignment
> operator do not throw, then the strong guarantee is in place.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to