From: dan marsden (danmarsden_at_[hidden])
Date: 2008-03-31 02:35:28
The review of the Egg library by Shunsuke Sogame starts today.The library is concerned with the implementation and adaptation of function objects. As function objects are everywhere in Boost and C++, I hope to see plenty of discussion and votes during the review.
It is not so easy to define Function Objects
especially if you want to support Boost.ResultOf and Boost.Lambda.
Therefore, as Boost provides iterator_facade and iterator adaptors,
Egg provides function_facade and function adaptors.
Egg provides the following features:
* Workaround for the Forwarding Problem
* Helpers to build Function Objects:
* egg::function and egg::function_facade provides the way to
build Function Objects which supports Boost.ResultOf and Lambda.
* Function Objects Adaptors(in other words, higher-order functions):
* egg::curryN supports the currying.
* egg::pipable emulates extension methods(C#).
* egg::fuse/unfuse emulates variadic functions.
* egg::nestN represents nested lambda expressions.
The documentation is on line:
The zipped source code is in Vault/FunctionObjects:
Boost Development Trunk and Boost Version1.34.1.
Please always state in your review, whether you think the library should be
accepted as a Boost library!
Additionally please consider giving feedback on the following general
- What is your evaluation of the design?
- What is your evaluation of the implementation?
- What is your evaluation of the documentation?
- What is your evaluation of the potential usefulness of the library?
- Did you try to use the library? With what compiler? Did you have any
- How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?
- Are you knowledgeable about the problem domain?
Yahoo! For Good helps you make a difference
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk