Boost logo

Boost :

From: Joel de Guzman (joel_at_[hidden])
Date: 2007-10-11 08:40:49


Marco wrote:
> On Wed, 10 Oct 2007 08:24:08 +0200, Johan Nilsson
> <r.johan.nilsson_at_[hidden]> wrote:
>
>> Michael Fawcett wrote:
>>> On 10/9/07, Dean Michael Berris <mikhailberis_at_[hidden]> wrote:
>>>> I thought about this, and the only problem is that it assumes that
>>>> 'include' does not replace the already existing mapping between a
>>>> function signature and the actual function being 'included'.
> [snip]
>> I'll persist (yes, yes ... the imfamous bicycle shed): What's wrong with
>> add:
>>
>> functions.add(&foo);
>> functions.add(&foo); // Throws
>> functions.insert(&foo); // Returns false
>> functions.replace(&foo); // Overwrites if exists, inserts if not
>>
>> The above is based on the fact that only one overload of each signature
>> is
>> stored - analogous to method overloads.
>>
>> If some kind of multiple dispatch is desired - how about
>> "multi_overloads"
>> (compare set/multiset, map/multimap).
>>
>> / Johan
>>
>
> Well, my point of view is that you shouldn't see the proposed
> implementation
> as a container but just as an extension of Boost.Function.
> It would be overkilling if Boost.Function had method like "insert" and
> "replace"
> instead of a simple operator= , and, IMO, the same it's true for the
> proposed
> overload implementation.

I agree. Let's keep it simple. Less is more.

Regards,

-- 
Joel de Guzman
http://www.boost-consulting.com
http://spirit.sf.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk