Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2003-05-11 12:19:15


"Alisdair Meredith" :
>Hmmm, it looks like we are trying to achieve slightly different things.
>From my perspective, the standard library works with semi-open ranges
>and iterators. I am not trying to change that, merely make more
>explicit when a pair of iterators in the parameter list form the bounds
>of a range.

Can you ive some examples of this explicitness?.

>This is clear when we look at algorithms that take a range for input and
>an output iterator, eg transform. Where I see a range and an iterator,
>your library tries to see two containers. I'm not entirely convinced
>this is the way to go.

Neither am I. I think I'm actually for making the second arg. an iterator.
I originally thought it was good because one could do certain assertions on
the
size of two containers, e.g:

copy( const C1&, C2& )
{
   assert( size( C2 ) >= size( C1 ) );
   ...
}

but we loose a lot of flexibility by only allowing the C2.begin() iterator
to be passed.

>Likewise, for me a container is simply one form of range, but I can
>imagine many others. Perhaps I should take a look at the Views
>library? To phrase the library in terms of containers seems to limit
>it, to me.

How would his range phrasing sound like?

>Also, is there a background paper describing the motivation for this
>library anywhere? I am currently making big assumptions about its
>intent (you may have noticed!) so that might correct some of my
>misconceptions :¬ )

there is no such paper, but I guess it would need to go into the
"motivation" section
of its stil-to-be-written documentation. But I'll summarize it as follows:

syntactic sugar, easier, shorter algorithm use

>I'll make sure it is mentioned on Monday and see if we can drum up some
>interest ;¬ )

great. :-)

I'll use a couple of minutes on changing the third second parameter to an
iterator.

regards

-Thorsten


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk