In addition, file streams now have move and swap semantics providing a move constructor, a move
assignment operator, and swap(). So you can pass a file stream as argument or return a file stream
from a function. For example, if a file should be used longer than the scope in which it was created,