Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-11-30 07:38:44


MB <mb2act_at_[hidden]> writes:

> Hi,
>
> 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.
>
> Motivation:
> 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 http://lists.boost.org/boost-users/2005/03/10346.php and
following messages.

> Question4:
> 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. Robert
Ramey's innovation was to put a wrapper around some useful argument,
which effectively hides the hack from the author of the specific
customization.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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