
AMDG
On 06/21/2012 04:49 PM, lcaminiti wrote:
I read the docs and didn't find the concept naming confusing (on the contrary, it's "standard" terminology). However, I agree that a Wiki
On 06/21/12 21:38, Steven Watanabe wrote: link to
concepts would be useful from in the docs as not all readers will be familiar with the C++0x concept proposals: http://en.wikipedia.org/wiki/Concepts_(C%2B%2B)
The only use of "Concept Map" is the title of the section. I believe that the contents of the section make it sufficiently clear what I'm talking about.
The contents say: Sometimes it is useful to non-intrusively adapt a type to model a concept. For example, suppose that we want to make std::type_info model less_than_comparable. To do this, we simply specialize the concept definition. which is clear, especially the part: specialize the concept definition. However what is not clear is how the title, "Concept Map", is related to what's in the content. That's what prompted my original post in this sub-thread: http://article.gmane.org/gmane.comp.lib.boost.devel/231814 Your response: b) "Concept Map" is the concept term for specialization. shown here: http://article.gmane.org/gmane.comp.lib.boost.devel/231815 prompted me to google for "C++ Concept Map" which lead to here: http://en.wikipedia.org/wiki/Concepts_%28C%2B%2B%29#Concept_maps and only after reading that was the rationale for the title clear. (However, after thinking some more, it seems a combination of the concept definition *and* the concept_interface corresponds to the "Concept Map" shown in the wikipedia article. That's because the concept definition has no member functions (such as operator+ or push_back) defined in it. The concept definition, AFAICT, only needs to supply a static member function called apply. */libs/type_erasure/doc/html/boost_typeerasure/conceptdef.html The member functions are added by concept_interface. libs/type_erasure/doc/html/boost_typeerasure/concept.html#boost_typeerasure.concept.custom Only after the member functions are added by the concept_interface is an entry for the concept map complete. I guess, here, the map is from a type, T, to an any type like T but with the added member functions added by the combination of the concept definition and the concept_interface. Is that about right? ). In summary, as you say, the content is clear, but the rationale for the title is not, unless a link to something like the wikipedia article is provided. HTH -regards, Larry