optimize std::vector move assignment