(Sorry, sent my previous message before seeing this one.) Martin Sebor <mse...@gmail.com> writes: > Since the iterator_pair template is being added as a foundational > type I'd suggest fleshing out the design a bit more. There is > little difference between iterator_pair and std::pair, but since > the class is being used as an iterator range, I'd consider naming > it that way: iterator_range, and modeling it on the Boost template > of the same name (unless there's something better in recent > revisions of C++). That would suggest adding the full complement > of (non-member) equality and relational operators and perhaps a few > convenience members).
Agree s/iterator_pair/iterator_range/ is better FWIW. MartinL, mind making that change too before committing? However: (a) We're not designing a library or stable API here, so IMO we should only add extra member functions when we actually need them. I think throwing in a bunch of other stuff now in the same of providing as complete an interface as possible is the kind of thing that's giving C++-ification a bad name in GCC. :-) (b) IMO it would be best not to look at Boost and try to reproduce essentially the same types and interfaces in GCC. The copyright situation for doing that is not at all clear, and AFAIK none of us are IP lawyers. (c.f. Google v. Oracle.) Thanks, Richard