From: Jesse Jones (jejones_at_[hidden])
Date: 2000-11-17 18:14:02
>> On Fri, 17 Nov 2000 20:54:33 -0000
>> "William Kempf" <sirwillard_at_[hidden]> wrote:
>> > --- In boost_at_[hidden], Douglas Gregor <gregod_at_r...> wrote:
>> > > On Fri, 17 Nov 2000 19:40:05 -0000
>> > > 1) I use one "Callback" class that takes any number of parameters
>> > > instead of having many Callback0, Callback1, ..., CallbackN
>> > > classes.
>> > In theory I really like this. Unfortunately, it requires partial
>> > template specialization and so may hinder or prevent implementation
>> > on VC++, which I think is a major problem. It's definately an idea
>> > worth looking into, however.
>> I believe that we need partial specialization in any case. Even if we
>>use Callback0, Callback1, etc. classes, we still (might) need a void
>>(partial) specialization. e.g.,
>That isn't true. Libsigc++ does not require partial specialization
>on VC++ because for that platform you can cast a void (*)(int) to
>an int (*)(int) and then ignore the bogus return. Thus you
>simply require traits to change trait<void>::return_type to
Pretty scary to do something like this in code that's supposed to be
portable. Also this prevents you from treating functors and free functions
in the same way.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk