
Hello shunsuke, Monday, May 14, 2007, 1:58:37 PM, you wrote:
Andrey Semashev wrote:
The New Iterator concept defines Readable and Writable concept, but I don't know the definition of "constant" iterator. Well, I think 'iterator_reference<ItT>::type' can return a const-qualified type even if 'ItT' is Writable.
I don't see how would it be possible to write to a const.
Proxy object like vector<bool>?
Dereferencing its iterators yelds rvalues which are not const (at least are not required to be). It is, in fact, possible to create a non-const iterator which has a const reference type, but such cases are, uh, a bit strange to say the least. Currently is_const_iterator will result to true only if the iterator reference type is const value or const reference. I'm not sure how it should behave for iterators with a non-const value reference types and vector< bool >::iterator specifically. I'm leaving this to users to define by specializing is_const_iterator on their iterator types. Maybe there should exist specialization on vector< bool >::const_iterator right out of the box? -- Best regards, Andrey mailto:andysem@mail.ru