Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-09-24 17:59:31


Cromwell Enage <sponage_at_[hidden]> writes:

> I remember a thread that ran for a while on this
> topic, and I need to make sure I've wrapped my head
> around it correctly.

I think you're referring to Vesa Karvonen's Lazy MPL (not sure if
that's what he called it).

> Here are my takes on laziness:
>
> <take id="point-1">
> A metafunction returns lazily if it can be used
> interchangeably with its return type.

I don't think that's the right way to think about it; Vesa's laziness
is not about how things are returned, but about the treatment of
arguments. A valid lazy metafunction argument is one that has a
nested ::type. In other words, all lazy metadata are MPL nullary
metafunctions.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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