Apache C++ Standard Library User's Guide

## 43.4 Several Iterators on One Stream

Stream iterators can be used only with one-pass algorithms. If a stream has to be read multiple times, a new iterator must be constructed for each pass. Each stream object may only have one iterator in use at a time. If a program uses more than one stream iterator with the same stream object at the same time, the behavior of that program is undefined.