Unless otherwise specified,
if an exception is thrown in the following algorithms,
objects constructed by a placement new-expression ([expr.new])
are destroyed in an unspecified order
before allowing the exception to propagate.
Some algorithms specified in [specialized.algorithms]
make use of the exposition-only function template
voidify:
template<class T>constexprvoid*voidify(T& obj)noexcept{return addressof(obj);
}