Boost logo

Boost :

From: Jaakko Jarvi (jajarvi_at_[hidden])
Date: 2002-09-26 16:49:05

> Would it be problematic to change the implementation so that cons<X,Y> is
> derived from Y? That would make all kinds of metaprogramming jobs a lot
> easier.

I considered this at some point, and it seemed kind of backwards.
The inheritance hierarchy would look like:

cons<C, null_type>
cons<B, cons<C, null_type> >
cons<A, cons<B, cons<C, null_type> > >
tuple<A, B, C>

If we forget for a while that cons lists are not really tuples, this would
correspond to:

tuple<B, C>
tuple<A, B, C>

I'd much rather have:

tuple<A, B>
tuple<A, B, C>

(This is how tuple types are defined in Eiffel)
Building this kind of hierarchy would mean heavier meta-computations
to get to the next layer of the nested tuple construct.

That was some rationale for the current design.

I'll give the issue another though. Could you send me an example
that shows the benefits of the implementation where where cons<H,T>
inherits from T?


Boost list run by bdawes at, gregod at, cpdaniel at, john at