
On Oct 1, 2006, at 6:17 AM, David Abrahams wrote:
Jeremy Siek <jeremy.siek@gmail.com> writes:
I also agree with Joel's position on airplanes (I misunderstood what he was saying at first... but yes, a pile of airplane parts is not an airplane), which is why I've always been in favor of explicit concept conformance. I see the concept_map declaration as the final touch that turns the parts into an airplane.
That isn't even enough in this case. One pair<int*,int*> object is just a couple of pointers, while another is a sequence of ints. Scoped concept_maps get us closer, but I'm not sure it's fully general: you could still have both kinds of pair in the same code, right?
Not sure exactly what you're saying... perhaps the following makes it more clear. With scoped maps, you can have different concept maps in scope in different parts of your code. So if you're about to call an algorithm, and you want pair<int*,int*> to be treated a something with just 2 elements, you would import the concept map from fusion. Later on, in a different scope, if you want pair<int*,int*> to be treated as something with second-first elements, then you'd import the concept map from the range library. Cheers, Jeremy __________________________________ Jeremy Siek <siek@cs.colorado.edu> http://www.cs.colorado.edu/~siek/ Visiting Assistant Professor Department of Computer Science University of Colorado at Boulder