> now include, say, 8 of these templates to handle 0-7 arguments, and
> you're mostly done. well, done with sigc++ 0.7 :))
> 
> the key element is the presence of a virtual method, in this case
> operator(), which invokes the function (or member function) that was
> stored in the slot, along with any stored arguments.
> 

Supposing all that is done, are we not left with the problem at the signal
side?

class signal 
{
std::list<slot<?, ?, ?> > ls_slots; 

template <Class, Return, Arg> ?
signal::connect(slot<Class, Return, Arg> & s)
{
        ls_slots.push_back(s);
}

signal::fire()
{
        foreach(ls_slots.begin() .... &Fire()) // or something
}
}

The list being the point where this all comes to a head I suppose.

Cheers,


Gaz
_______________________________________________
libsigc-list mailing list
libsigc-list@gnome.org
http://mail.gnome.org/mailman/listinfo/libsigc-list

Reply via email to