
"David Abrahams" <dave@boost-consulting.com> wrote in message news:uk6uvhw8w.fsf@boost-consulting.com... | > > I wonder whether it's better to say | > > | > > cbegin(x) | > > | > > or | > > | > > begin(as_const(x)) | > > | > > The latter is certainly more general. | > > | > | > It's more general but it has a big usability issue: it's hard for me | > to find a rationale that I can get a reverse_iterator by calling | > "rbegin" but have to apply something to the container to get a | > const_iterator. | > | > Whatever the best solution is, there should be the same concept for | > const and reverse for the user! | | Just because the original designers made the mistake of building in | rbegin() and rend() accessors, it doesn't mean we should perpetuate | the same mistake for consistency. no, not necessarily | Orthogonality is better. as_const() woul be othogonal to begin(), rbegin(), but there is a clear difference between changing constness and changing traversal direction. The only "mistake" of rbegin() is that is it member even though it does not have to be. br Thorsten