$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r54189 - sandbox/committee/LWG/proposals
From: dave_at_[hidden]
Date: 2009-06-22 04:45:13
Author: dave
Date: 2009-06-22 04:45:12 EDT (Mon, 22 Jun 2009)
New Revision: 54189
URL: http://svn.boost.org/trac/boost/changeset/54189
Log:
Elaborate.  Add "MRV" catchphrase
Text files modified: 
   sandbox/committee/LWG/proposals/exported-concept-maps.rst |    17 +++++++++++------                       
   1 files changed, 11 insertions(+), 6 deletions(-)
Modified: sandbox/committee/LWG/proposals/exported-concept-maps.rst
==============================================================================
--- sandbox/committee/LWG/proposals/exported-concept-maps.rst	(original)
+++ sandbox/committee/LWG/proposals/exported-concept-maps.rst	2009-06-22 04:45:12 EDT (Mon, 22 Jun 2009)
@@ -120,7 +120,9 @@
 Default implementations of associated functions arise in concepts like
 ``LessThanComparable`` whose interfaces are **non-minimal**, i.e. they
 contain elements that can be implemented entirely in terms of other
-interface elements.  In C++03 the usual way to avoid repeating this
+interface elements.  Such interfaces are quite commonâin Boost you can
+find entire libraries devoted to implementing the redundant parts of
+non-minimal interfaces.  The usual way to avoid repeating this
 boilerplate in each model of a concept is to capture the redundancy in
 a base class template::
 
@@ -145,11 +147,14 @@
       friend bool operator<(String const&, String const&);
   };
 
-If this proposal is accepted, all such CRTP base classes templates
-could be discarded, the redundant interface being implemented directly
-by the concept.  The Boost.Operators library, for example, could be
-eliminated for C++0x, and the Boost.Iterator library would shrink
-substantially.
+In C++0x as defined today, one would need both the CRTP base *and* the
+``concept_map`` to achieve uniform behavior in constrained and
+unconstrained code.  If this proposal is accepted, though, all such
+CRTP base class templates could be discarded, the redundant interface
+being implemented directly by the concept.  The Boost.Operators
+library, for example, could be eliminated for C++0x, and the
+Boost.Iterator library would shrink substantiallyâa massive reduction
+in verbosity.
 
 Risks, Opportunities, and Rationale
 ===================================