Making operations on standard-library containers strongly exception safe
Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Standard
Making operations on standard-library containers strongly exception safe. / Katajainen, Jyrki.
Proceedings of the 3rd DIKU-IST Joint Workshop on Foundations of Software. Vol. 07 2007. p. 158-169.Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review
Harvard
APA
Vancouver
Author
Bibtex
}
RIS
TY - GEN
T1 - Making operations on standard-library containers strongly exception safe
AU - Katajainen, Jyrki
PY - 2007
Y1 - 2007
N2 - An operation on an element container is said to provide a strong guarantee of exception safety if, in case an exception is thrown, the operation leaves the container in the state in which it was before the operation. In this paper, we explore how to adjust operations on C++ standard-library containers to provide the strong guarantee of exception safety, instead of the default guarantee, without violating the stringent performance requirements specified in the C++ standard. In particular, we show that every strongly exception-safe operation on dynamic arrays and ordered dictionaries is only a constant factor slower than the corresponding default-guarantee operation. In terms of the amount of space, the overhead introduced is linear in the number of elements stored.
AB - An operation on an element container is said to provide a strong guarantee of exception safety if, in case an exception is thrown, the operation leaves the container in the state in which it was before the operation. In this paper, we explore how to adjust operations on C++ standard-library containers to provide the strong guarantee of exception safety, instead of the default guarantee, without violating the stringent performance requirements specified in the C++ standard. In particular, we show that every strongly exception-safe operation on dynamic arrays and ordered dictionaries is only a constant factor slower than the corresponding default-guarantee operation. In terms of the amount of space, the overhead introduced is linear in the number of elements stored.
M3 - Article in proceedings
VL - 07
SP - 158
EP - 169
BT - Proceedings of the 3rd DIKU-IST Joint Workshop on Foundations of Software
Y2 - 29 November 2010
ER -
ID: 15401817