Commits
Howard Hinnant committed 6f17c389631
Introduce move construction and move assignment just so everyone gets a simple introduction to the subject. These are nothing but optimizations of the copy constructor and copy assignment. They only get called with the rhs is an rvalue. The lhs gets the value of the rhs, and the rhs can get set to any valid value. If the resulting operation isn't faster than a copy, then the move member should just be removed so the copy member can take over. For string the move members are likely to be only very slightly faster. I'm attempting to avoid atomics and branches in the move members, though there is one branch and one atomic decrement in the move assignment operator. Swift SVN r449