From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2005-03-03 13:49:18
Andy Little wrote:
> aplogies for tardy reply)
>> By the way, Andy, you seem to have played around quite a bit -
>> if there is anything usable for examples I'ld be interested.
> I'd like to say I have... but I have only done a couple of quick tests.
Nevermind. I have written examples for every part of the interface, by
now (see the message just posted about the update in this thread).
> I dont have anything that exciting I'm afraid. I would guess that this
> library is most useful for FP...synthesising Functors? but that isnt my
> strongest suit
As metaprogramming replaces external code generators there should be a
facility to work with function types, right ?
Currently there isn't - except function_traits, which is limited to only
plain functions (no pointers, references, member function pointers),
does not interoperate well with MPL and does only implement a subset of
the features of this proposal.
It is useful for all kinds of stuff such as call closures, smarter
callback registration, concept checking, automatically generated
Currently most Boost libraries that need to work with function types do
it their own way. This has the following disadvantages:
a) It is tedious to implement in the first place.
b) There is not support for variadic functions and non-default calling
convetions for most of them. (*)
c) These implementations depends on preprocessor unrolled cascades
of partially specializing a template, which, when applied redundantly
is a waste of compile time resources, because it involves quite some
code. Which can be significant, especially when point b) is adressed
(*) This feature is planned but not implemented for the Function Types
The conclusion is a configurable global facility able to do this job
once and for all.
Nothing particulary interesting ;-) just a missing piece, that's all...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk