Boost logo

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