
9 Aug
2007
9 Aug
'07
3:38 p.m.
I think the names 'key_iterator'/'value_iterator' are clearer than 'get_iterator', but I can see how the functionality of being able to select any element of a tuple could be useful. Perhaps we could merge the two concepts and have 'make_key_iterator'/'make_value_iterator' call 'make_get_iterator<1>'/'make_get_iterator<2> respectively. While we could do that with the helper functions, unfortunately for the classes, without template typedefs we can't have 'get_iterator<X,1>' be the same as 'key_iterator<X>' and having two classes doing the same thing seems like a bit of a cludge (I suppose std::pair/std::tr1::tuple<X,Y> gives us precendent, but it still doesn't seem right).