|
Boost : |
Subject: Re: [boost] Provisional Boost.Generic and Boost.Auto_Function (concepts without concepts)
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2010-12-14 10:33:27
AMDG
On 12/14/2010 4:41 AM, Matt Calabrese wrote:
> Actually, since this thread has started going again, I've hit some
> complicated issues regarding concept maps that I'd hope someone could help
> out with. In particular, there is one very troubling situation I've
> encountered. Imagine three concept types: a "base" concept, a "left" concept
> which is a refinement of "base", and a "right" concept, which is also a
> refinement of "base". A programmer creates a type called "foo" and wishes to
> make a concept map for "left" and also a concept map for "right". Because
> "left" is a refinement of "base", making a concept map for "left" implicitly
> makes a concept map for "base". Similarly, since "right" is a refinement of
> "base", the same thing happens. So the issue is, if someone now writes a
> function that requires a "base", which concept map is to be used? Should
> this be a compile-time error? If so, how could this possibly be safely
> resolved (does anyone know how this was handled in concept proposals)?
I believe that it wasn't an issue for the C++0x concept proposals,
because the concept maps for both left and right would depend
on being able to find a concept map for base.
In Christ,
Steven Watanabe
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk