|
Boost-Commit : |
From: dgregor_at_[hidden]
Date: 2008-06-12 20:42:50
Author: dgregor
Date: 2008-06-12 20:42:50 EDT (Thu, 12 Jun 2008)
New Revision: 46365
URL: http://svn.boost.org/trac/boost/changeset/46365
Log:
Minor wording tweak from James, example from John
Text files modified:
sandbox/committee/concepts/wording/wording.tex | 44 ++++++++++++++++++++++++++++++++++++---
1 files changed, 40 insertions(+), 4 deletions(-)
Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex (original)
+++ sandbox/committee/concepts/wording/wording.tex 2008-06-12 20:42:50 EDT (Thu, 12 Jun 2008)
@@ -4011,8 +4011,9 @@
\pnum
\addedConcepts{
- A concept map that is not a concept map archetype
- may contain two kinds of members:
+ A concept map}
+\removedCCC{that is not a concept map archetype}
+ \addedConcepts{may contain two kinds of members:
\mbox{\techterm{requirement members}} and
}\changedCCC{ \mbox{\techterm{satisfier members}}.}{members that satisfy
requirement members. The latter may be explicitly declared within the
@@ -4828,7 +4829,7 @@
\mbox{\tcode{C}}
will be defined
in the namespace of which the
-concept map is a member.
+concept map is a member}.
If a concept map for a given concept instance in the
refinement clause has not be defined in the namespace of the
refining concept map, it is defined implicitly.
@@ -5711,7 +5712,42 @@
means that members that come before the constrained member, member
template, or nested class cannot prevent the expression of
additional requirements on template parameters from enclosing
- scopes. \mbox{\exitnote}}
+ scopes. \mbox{\exitnote} \mbox{\enterexample} Given:}
+\color{ccadd}
+\begin{codeblock}
+concept C1<typename T> { }
+concept C2<typename T> { }
+concept C3<typename T> { }
+
+template <C1 T> class X {
+ requires C2<T> void g(T) {}
+ class B {
+ void g(T) {}
+ requires C3<T> void f(T) {}
+ };
+};
+\end{codeblock}
+
+\noindent
+\addedCC{\mbox{\tcode{X::g}} is evaluated as if in the context}
+
+\begin{codeblock}
+template <C1 T> class X {
+ requires C2<T> void g(T) {}
+};
+\end{codeblock}
+
+\noindent
+\addedCC{and \mbox{\tcode{X::B::g}} is evaluated as if in the context}
+
+\begin{codeblock}
+template <C1 T> class X {
+ class B {
+ requires C3<T> void f(T) {}
+ };
+};
+\end{codeblock} \addedCC{\mbox{\exitexample}}
+\color{addclr}
\pnum
\addedConcepts{An archetype \mbox{\tcode{T$'$}} for a type
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk