Concepts as Interface Specfications

53 views
Skip to first unread message

Bill Clare

unread,
Sep 19, 2016, 4:37:54 PM9/19/16
to SG8 - Concepts

  The attached note is very general.  It was previously posted on the C++ Future Proposals forum, but received little notice there.  Here it might be of more interest.  


  The note provides a rather general overview of language user constructs for templates, the STL, Concepts and Ranges.  It makes the point that Concepts, which are generally described as either constraints or requirements, can be more generally viewed as components of interfaces; that is, they are a view of Capabilities that are supplied by some class or function, and used by other classes and functions.  In particular, they can be declared symmetrically, for the template type parameter and for the supplied class argument.


   Templates can support compile time mapping of Capabilities, as generic types, to concrete types.  The note suggests that this can have be extended, in a reasonably straight forward manner, to mapping generic objects to concrete objects at run time.    - More on this in a latter post.  

Concepts are Interface Specifications 160812.pdf
Reply all
Reply to author
Forward
0 new messages