From: Fred Bertsch (fred.bertsch_at_[hidden])
Date: 2006-03-01 15:36:24
I recently had to implement something similar for a project I'm
working on. I would certainly like to see something more complete than
what I came up with placed in boost.
On 3/1/06, Korcan Hussein <korcan_h_at_[hidden]> wrote:
> Hi, i'm on the verge of completing a first release of a fully featured
> multimethods component for C++, one in which i believe goes beyond anything
> currently available and is very suited to become part of boost. I'm fully
> aware of Jesse Jones's contribution however his library has not become an
> offical part of boost and i believe my version takes things much further in
> thew different ways and i have some nice ideas for the next version to make
> even better.
> It's inspired by boost/std::tr1::function and CLOS generic functions and
> thus works like bost::/std::tr1::function preferred syntax ALA function
> types e.g:
> typedef boost::shared_ptr<fuzz> fuzz_ptr;
> generic_function< void (const foo&, int, bar*, float, fuzz_ptr) > foobar;
> where foo, bar and fuzz are polymorphic types and automatically are
> considered for multiple dispatch, detection of which arguments are choosen
> for dispatch is automated (and yes there already is support for smart/proxy
> pointers/references in place with std::auto_ptr,
> boost::/std::tr1::shared/intrusive_ptr working out-the-box). The order and
> placement of arguments is irrelevant and non-polymorphic arguments are
> totally allowed, covariant return types comes for free and work similar to
> covariant return types of virtual member functions.
> I think i'll just stop writing about the library any further (abit more to
> it than this) i just like to know if you guys are interested in making this
> an offical part of boost and to be worked on further by myself and with the
> help of others.
> P.S By the way this has been built with boost mpl, preprocessor and type
> traits from the beginning and interlope with other boost components in mind
> i.e phoenix, lambda, fusion, bind, function etc, etc.
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk