Boost logo

Boost :

From: Marco (mrcekets_at_[hidden])
Date: 2007-10-11 16:13:49


On Thu, 11 Oct 2007 19:18:17 +0200, Marco Costalba <mcostalba_at_[hidden]>
wrote:

> On 10/11/07, Marco <mrcekets_at_[hidden]> wrote:
>>
>> Thanks to you Marco,
>> I hope that you find the time to propose your hints and suggestions,
>> they will be very appreciated.
>>
>
> Just a question.
>
> Why do you foreseen
>
> f.set<5>(f6);
> f.set<sig5_t>(f5);
>
> instead of just
>
> f.set(f6);
> f.set(f5);
>
> Normally you should have a good reason to allow redundancy in the API,
> in other words if
> the above just works the by-index and by-sig features would seem to me
> more error prone and I fail to see the advantages.
>
> Thanks
> Marco
>
> P.S: for "redundancy" I don't mean that does exist more way to do the
> same thing but that the API
>
> f.set<5>(f6);
>
> specify two times where to store f6, one directly with <5> and one
> indirect through signature of f6

The set<signature_type>(f) and set<index>(f) are needed to manage
overloaded and polymorfic function objects.
That is if the functor is compatible with more than one signature
the signature_type and the index are no more redundant but necessary.
In my next release I'll follow the policy to use the functor as target
for all the compatible signatures included in the overload but even
so there will be always the need for set<signature_type>(f) or/and
set<index>(f) in order to be able to use the functor as target for
only one specific signature.

Marco

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

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