Boost logo

Boost :

Subject: Re: [boost] Boost.Multimethod proposal
From: Robert Ramey (ramey_at_[hidden])
Date: 2009-08-22 15:35:07


How would this differ from the signals/slots library?

Robert Ramey

Andrey Semashev wrote:
> Nicholas Howe wrote:
>> I have written a C++ Multimethod library and propose adding it to
>> Boost. I see that the addition of such a library to Boost has been
>> proposed in the past, and been met with relative enthusiasm. However, it
>> has not been done. Does anyone know why previous
>> attempts were aborted? I want to be sure there is a demand before
>> starting the somewhat daunting task of boostifying and documenting
>> my library. 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. The library is designed to behave well
>> when used by other libraries.
>> To declare a new method, the client is required to derive a new type
>> from the multimethod type. This allows multiple multimethods with
>> the same parameters in different libraries. It also allows
>> encapsulation of each multimethod implementation within each
>> library, reducing the chance of conflict between different libraries
>> that were compiled with different versions of the multimethod
>> library. Is there any interest in including my library in Boost?
>
> I'm definitely interested. What is the complexity of calling a
> multimethod? Is the code and some examples available somewhere?
> _______________________________________________
> 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