Added missing header for std::swap