|
Boost : |
Subject: Re: [boost] Formal Review Request: TypeErasure (docs, Concept Maps misnamed?)
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-06-21 20:14:36
on Thu Jun 21 2012, "Robert Ramey" <ramey-AT-rrsd.com> wrote:
> I never figured out what "concept map" is supposed to mean.
A concept map specifies the way that a concept relates to a particular
model (or set of related models) of that concept. Most of us are only
used to thinking of an "identity concept map," e.g. the concept says
there must be a "+" operation and the model supplies that operation as
an operator+(). Concept maps allow a generalization where the model
might supply the operation as a function called "add()." You'd use a
concept map to connect the concept's "+" operation to the model's
"add()" function.
This feature enables post-hoc adaptation, wherein if you find a type T
that models a concept C "in spirit" you can make it model that concept
*in fact* without the authors of T and C knowing anything about one
another.
HTH,
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk