clueless bystander wrote:
Lars T. Kyllingstad Wrote:
clueless bystander wrote:
Watching D evolve from the outside there seems to be a lot of ongoing discussion
on this newsgroup about the D range idiom which is somehow opposed to
conventional
thinking about iterators.
Can someone please explain in plain words just exactly what a range is and how
it differs from the iterator concept (if that's appropriate???) and what are
the benefits
from a data modeling and access perspective.
Sure, I'm clueless, though suspect many other bystanders would appreciate a
succinct heads-up.
Thanks,
clueless bystander
I'm probably not the right person to answer your question, since I have
virtually no experience with C++ iterators. Instead I'll just refer you
to Andrei's own article on the subject:
http://www.informit.com/articles/article.aspx?p=1407357
Please don't hesitate to ask again if it didn't clear things up for you. :)
-Lars
Yes, well, thanks again. The first 7 pages seemed to have plausible arguments
but the going get tough thereafter. Maybe the reason ranges are not popular
is that they are hard to explain even though they might be simple and obvious
in hindsight.
Sigh,
c.b.
The reason ranges are not popular is because they haven't had time to
become popular yet. The range concept itself is rather new, not much
older than the article I referred you to, and AFAIK it's only been
implemented in the D2 standard library.
I'm sure there are several people on this forum that can give you a
satisfactory (and succinct) answer. You may want to check back in a few
hours, when activity picks up.
FWIW, I don't think the concept of ranges is very hard to grasp. I just
haven't used them that much, that's why I don't want to be the one to
answer your question (and, like I said before, I have never used C++
iterators so I can't compare them either).
-Lars