
On 06/21/12 13:17, Steven Watanabe wrote:
AMDG
On 06/21/2012 10:34 AM, Larry Evans wrote:
The page: */libs/type_erasure/doc/html/boost_typeerasure/conceptdef.html uses the term 'primitive concept':
A primitive concept must be a specialization of a class template, with a static member function called apply.
What's the difference between a 'Concept Map' and 'primitive concept'? If they are the same, why not use the same term for both? [snip]
They aren't the same. A primitive concept specified the interface and (optionally) a default Concept Map. A Concept Map specifies how a specific type models the concept.
Would not: template<class T = _self, class U = T> struct less_than_comparable { static bool apply(const T& lhs, const U& rhs) { return lhs < rhs; } }; from: http://svn.boost.org/svn/boost/sandbox/type_erasure/boost/type_erasure/opera... satisfy the definition you give above for a primitive concept: A primitive concept specified the interface and (optionally) a default Concept Map. Where the optional default Concept Map is the general template, as shown in the above operator.hpp. Somehow, I assume by "specified the interface" you mean, somehow, the specialization idea: A primitive concept must be a specialization of a class template, with a static member function called apply. from: */libs/type_erasure/doc/html/boost_typeerasure/conceptdef.html IOW, an example of "specified the interface" would be the specialization of less_than_comparable, less_than_comparable<std::type_info> shown here: */libs/type_erasure/doc/html/boost_typeerasure/concept.html#boost_typeerasure.concept.concept_map Of course, I could be completely wrong; hence, could you be more specific about what you mean by "specified the interface" and "(optionally) a default Concept Map"? I can't help but draw the conclusion that a "Concept Map" is simply the general template and all specializations of a: class template, with a static member function called apply as mentioned in conceptdef.html; however, I also feel that's way too simple. What am I missing? TIA. -regards, Larry