From: MB (mb2act_at_[hidden])
Date: 2005-11-30 20:24:26
David Abrahams wrote:
> MB <mb2act_at_[hidden]> writes:
>>This proposal is somewhat beyond the current Boost.Range.
>>I have been looking for "how to define compile-time polymorphism",
>>which Boost.Range and Boost.Serialization etc are combating.
>> There is no conforming way of customization if you cannot
>> open namespaces that contain types you customize.
>> Provide a namespace for customization by using a type named 'overloaded'
>> that triggers intentional ADL on 2nd-phase lookup.
>> (This idea comes from Boost.Serialization.)
> It was considered already. Look for the use of the phrase "domain
> tag" in http://lists.boost.org/boost-users/2005/03/10346.php and
> following messages.
Mr.Dimov wrote at http://lists.boost.org/boost-users/2005/03/10349.php
>Maybe I'll just bite the bullet and start putting overloads
>in std instead one day.
I've fallen into the same situation.
As I'm afraid of opening namespaces like 'ATL',
the customization way is missing.
>> This technique that triggers intentional ADL is famous?
>> What do they call? Who is the inventor?
>> Should I call "Ramey Lookup"?
> I think I may have invented the technique you're showing.
I call it "Abrahams Lookup" :-)
I thought the combination of your Lookup and Ramey Trick could
workaround broken compilers without users' burden.
But Boost.Range has metafunctions that require 'class template partial specialization'.
I have missed the point.
I admit that the combination is not generalized enough to bear with the extra parameter.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk