Boost logo

Boost :

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.
>>New Implementation:
>> 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 and
> following messages.

Mr.Dimov wrote at
>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, gregod at, cpdaniel at, john at