In item 17 of exceptional c++
, I find this:
First, for all containers, multi-element inserts ("iterator range" inserts) are never strongly exception-safe.
but in item 1 of effective STL
, I find this:
If you need transactional semantics for multiple-element insertions (e.g., the range form — see Item 5), you'll want to choose list, because list is the only standard container that offers transactional semantics for multiple-element insertions.
and in page 249
of the c++ standard library 2th
, I find this:
For lists, even multiple-element insert operations are transaction safe.
So my question is which one is right? Is strongly exceptional-safe means the same with transaction safe?