cpp/iterator/move iterator

is an iterator adaptor which behaves exactly like the underlying iterator (which must be at least a ), except that dereferencing converts the value returned by the underlying iterator into an rvalue. If this iterator is used as an input iterator, the effect is that the values are moved from, rather than copied from.