small_vector exception safety, part 1
authorNicholas Ormrod <njormrod@fb.com>
Mon, 12 May 2014 17:57:21 +0000 (10:57 -0700)
committerDave Watson <davejwatson@fb.com>
Tue, 20 May 2014 19:53:58 +0000 (12:53 -0700)
commit9a51965bda6202fc8765e8869ef5df06d2df705b
tree9eb0efeaedee2f4d7e9fe869bd938694ca0f58f5
parent618a6ec3134b15b76a76a8c68437df66c525cd82
small_vector exception safety, part 1

Summary:
small_vector is now object-exception safe for the general
container functions (N3337 table 96).

An amusing bug: in debug mode, swap would trigger an out-of-bounds
operator[] access. This has been fixed.

Facebook:
Nothing fancy in the non-OSS files.

Test Plan:
fbconfig -r folly && fbmake runtests
fbconfig -r experimental/njormrod/stltest && fbmake runtests

Reviewed By: delong.j@fb.com

FB internal diff: D1319574
folly/small_vector.h