From: Douglas Gregor (doug.gregor_at_[hidden])
Date: 2006-10-03 12:09:05
On Oct 3, 2006, at 11:43 AM, Theodore Papadopoulo wrote:
> On Tue, 2006-10-03 at 08:58 -0400, Douglas Gregor wrote:
>> The above statement *was* correct. The new iterator concepts were
>> initially voted into TR1, but were later removed. Perhaps someone
>> was in the room when it happened could tell you more, but I'm hoping
>> the new iterator concepts come back for C++0x. Concepts (the
>> feature) and move semantics force us to fix the current iterator
> Jumping in the discussion with a diverging topic, sorry...
> Speaking of iterators, is there any attempt at making OpenMP
> to deal with iterators (or OpenMP friendly iterators).
We in the Open Systems Laboratory at Indiana University have an
active research project that concerns making OpenMP more friendly for
modern C++. Among other things, it will enable iterator loops to be
parallelized with OpenMP directives. I don't know when the result
will be stable enough for public consumption, but I expect we'll have
a limited prototype available in the next six months.
> Multicore processors are becoming the rule rather than the
> exception and
> OpenMP seems (I'm still making my first experiments) very
> constrained in
> the loops it can deal with (basically loop controled by signed
> integers). Of course, there are ways of using OpenMP with C++ and
> iterators, but this destroys quite a bit the programming model using
> loops over iterators.
Right. You have to jump through a lot of hoops to make OpenMP work
with C++. We've managed to find workarounds and tricks that get some
things working, but we really need extensions to OpenMP to make it
usable in this context.
Anyway, we're in danger of drifting off-topic for the Boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk