add move support of FlattenIterator