Add move constructor and swap for str