|
Boost : |
From: Karl Nelson (kenelson_at_[hidden])
Date: 2000-11-17 17:11:45
> 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
int.
--Karl
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk