Subject: Re: [boost] Boost.Multimethod proposal
From: Larry Evans (cppljevans_at_[hidden])
Date: 2009-08-22 21:58:39
On 08/21/09 17:28, Nicholas Howe wrote:
> I have written a C++ Multimethod library and propose adding it to Boost.
> The library works by requiring clients to register user types of interest,
> and specify their public base classes. This allows traversing class
> hierarchies at run-time. A multimethod uses this information to perform
> run-time overload resolution on registered methods to determine the best
> implementation based on the type-id of each parameter. There are no
> restrictions on the types of a multimethod's parameters, although only
> single indirections to user types will behave polymorphically.
I haven't looked at your code, but the mention of "registered methods"
in the above quote suggests some sort of time consuming lookup.
I just uploaded to boost_vault/Patterns a text file:
This was written years about (aroung 2003) so I can't remember
very well the details, but, IIRC, it uses some sort fo elaborate
multiple inheiritance and maybe some casting to achieve the dispatch,
but I think it just uses virtual methods.
Anyway, it might be worth comparing with your method.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk