Re: [sigc] current work on libsigc2



Am 2003.09.03 18:29 schrieb(en) Murray Cumming:
I think you forgot to add reference_wrapper.h to cvs.

Yes, thanks for notifying me.

All the recent ChangeLog stuff looks very impressive but mostly
incomprehensible to me. I'll try to get familiar with the code again.

I'm surprised that you could do without typeof, but I don't know the
details. Is the boost thing using typeof?

No, boost is not using typeof(). typeof() seems to be supported by gcc
only (and has a bug with references there).

The details in short are that we have to make the assumption that
functors define "typedef ... result_type;". If you use 3rd-party
functors in libsigc++2 there are two policies:
- writing "namespace sigc { namespace functor {
                                 SIGC_FUNCTORS_HAVE_RESULT_TYPE } }"
  in your source means that all 3rd-party functors you use define
  "typedef ... result_type".
- writing "namespace sigc { namespace functor {
        SIGC_FUNTOR_TRAIT(your_functor, the_result_type) } }"
  specifies the result type of functor "your_functor".
Multi-type functors can only be supported through typeof().

Adaptors have a more complicated logic for return type deduction,
especially to support lambdas, but eventually it all comes down
to the principle described above.

Once again, please release early, release often. Don't wait for
decisions or fixes before releasing. If you don't then I will.

Okay, I will release a new version tomorrow. I have some work
on lambda operators pending that I will finish now.

Regards,

  Martin



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]