Re: [sigc] current work on libsigc2



Am 2003.08.20 21:21 schrieb(en) Martin Schulze:
Hello!

Just dropping a quick note for the (unfortunately unliky) case
that anybody wants to hack on libsigc2 during the next three days:

I've been working on making typeof() optional but haven't finished
yet and won't be able to commit to cvs until Saturday evening (MEZ).

Done:

2003-08-24  Martin Schulze  <teebaum cvs gnome org>
  * sigc++/adaptors[/lambda]/*.h.m4:
 - Remove unnecessary void specializations. In fact, only the one
 for sigc::functor::exception_catch<> is needed and I don't really
 understand why. For the lambda stuff the void specializatoins are
 just commented out at the moment.
 - Make typeof() optional. Surprisingly, I got the lambda stuff working
 without typeof()! The test suite doesn't catch all cases yet, so maybe
 some thing are still not working.
 TODO: Implement configure check.
 * tests/test_bind.cc, tests/test_compose.cc tests/
test_exception_catch.cc,
 tests/test_hide.cc, tests/test_lambda.cc:
 Only test multiple functor return types if typeof() is supported.

Maybe we should abandon the use of typeof() completely? The only
features that don't work without typeof() are
- return type deduction for functor types that don't have
  "result_type" defined and
- multiple return types for functors.

Example:
  struct your_functor_only_working_with_typeof {
    int operator(int arg1);
    double operator(int arg1, double arg2); // different return type
  };

  struct my_functor_generic {
    typedef double result_type;
    double operator(int arg1);
    double operator(int arg1, double arg2);
  };

Apart from this the most important TODOs are documentation and
to decide whether to have nested namespaces (sigc, sigc::functor,
maybe sigc::adaptor) or one namespace (sigc) for everything.

Cheers,

  Martin



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