
David Abrahams wrote:
Boost.Lambda is just one example of the use of expression templates: in a library for generating anonymous function objects. Boost.Spirit is an example of the use of expression templates in a library for generating parsers. Boost.Xpressive is an example of the use of expression templates in a library for building regular expression matchers.
Boost.Proto is a library that abstracts out a great deal of the hard work the authors of those other libraries have to do. It is a library for building libraries that rely on expression templates.
What Dave said. And you might think the target audience of a library like Proto is vanishingly small, but there's a chicken-and-egg problem here. Writing an expression template library today is so hard that few have gone that route. Proto aims to change that. -- Eric Niebler Boost Consulting www.boost-consulting.com