void someFunction()
{
LoopState l;
for (;;) {
Datum d = dataSource.fetch(l);
if (!d) break;
... use d ...
}
}
A more compact usage style:
int main()
{
LoopState ls;
while (int i=testfetch(ls)) {
cout << i << endl;
}
return 0;
}