Date: 2001-04-04 02:48:58
There are cases when unified function object traits would be useful, when
writing template class with functor as template parameters. For example, it is
desirable to use Traits<F>::result_type, Traits<F>::argument_type etc. to
implement binders or signal/slot system. In my opinion, redundancy is bad
But there is no unified functor traits and concepts - neither in STL, nor in
Boost. There are some incomplete pieces in <functional>, and another in
<boost/functional.hpp>, but they are insufficient. In the same time, typedefs
like result_type or similar are spreaded over the boost and over the vault.
Is there any plans to make closed and complete traits/concepts for function
objects and functions (at least, for functors with, say, up to 10 args, as in
lambda)? Then binders library could rely upon these traits, labmda and
functional could be built upon these binders, callback library could use these
binders and traits and not invent their own and so on. Now Boost have many
incompatible pieces of traits here and there, and second, incompatible version
of binders is going to arrive with lambda. Isn't it bad? Is the Boost going to
be de-facto standard meta-library?
Excuse my bad english.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk