single-pass iterator and input iterator by restricting the allowed return type of r++. [SVN r19091]
[SVN r18959]