Boost logo

Boost :

From: joel de guzman (joel_at_[hidden])
Date: 2001-05-25 19:28:18


From: "Douglas Gregor" :

> > Seigh, I kinda liked [] for iteration to distinguish from
> > grouping ex:
> >
> > (a | b | c)[0, more];
> >
> > instead of
> >
> > (a | b | c)(0, more);
> >
> > Oh well...
> > Joel de Guzman
>
> Actually, the use you describe above is possible. If more has a distinct
type
> (i.e., more_t), then you can overload the comma operator to combine the 0
and
> the more into a single object, then accept that object in operator[]. The
> Boost multidimensional array library will likely take this approach.
>
> It's the [0, 2] that won't work and would be very, very bad. Since
> a[0, 2] == a[2] == lots of user errors.
>

How about:

a[2]; // exactly 2
a[0][2]; // 0..2
a[0][more]; // 0...
a[1][more]; // 1...

This can be done.

Joel de Guzman

PS> Do I hear yuck?


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