Boost logo

Boost :

From: Mark Rodgers (mark.rodgers_at_[hidden])
Date: 2001-11-28 10:10:16


From: "David Abrahams" <david.abrahams_at_[hidden]>

> Actually, the type list implementation in MPL
> isn't the (most) interesting part. The algorithms
> are more interesting, IMO.

Well because template metaclasses can't have member
metafunctions, the distinction between list implementation
and algorithm is somewhat blurred. I see size and at,
for example, as being part of the list implementation
whereas distance and find are algorithms. All four
are interesting :-)

The key point for me is does it matter to users whether
they write loki::length<x>::value or mpl::size<x>::value
and do they care how whatever they write is implemented?

I'd like us to agree that everyone should write
mpl::size<x>::value, even if an initial release
implemented this in a simple recursive manner. When and
if the full mpl is accepted into boost, the implementation
could change completely, but no-one would need to care.

If Andrei were to rework his type list submission so that
it matched the mpl interface, we could get it accepted
earlier than mpl and people could begin to use it. We
could then go on to debate the merits of the rest of
the mpl and the alternative implementation without worrying
that we'd already accepted a completely different and
incompatible type list.

Mark


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