
From: "Alex Chovanec" <achovane@engin.umich.edu>
When you dereference an instance of the adapted iterator type Iter, you get a const reference to its base iterator of type Base. So instead of delegating the dereference operation to its base and returning the result, the iterator adaptor simply returns its base. Since it doesn't dereference its base, I would probably name it "lazy_iterator", or something like that.
The idea is intriguing, but the iterator isn't lazy, it just doesn't dereference ("lazy" suggests that it will do the work on demand, not immediately). A better name would be "deferred_iterator" or "iterator_iterator." -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;