いまさらながら、std::vector::swap がC++14までnoexceptじゃなかったことに気付いた。
今までvectorをメンバに持つクラスのmoveコンストラクタ/代入の中でswapを使って
しれっとnoexceptを付けてたけど、C++11では本来どうすべきだったんだろう。