|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r48865 - sandbox/committee/concepts/wording
From: dgregor_at_[hidden]
Date: 2008-09-19 01:15:58
Author: dgregor
Date: 2008-09-19 01:15:57 EDT (Fri, 19 Sep 2008)
New Revision: 48865
URL: http://svn.boost.org/trac/boost/changeset/48865
Log:
More minor fixes
Text files modified:
sandbox/committee/concepts/wording/wording.tex | 36 ++++++++++++++++++++++++++++--------
1 files changed, 28 insertions(+), 8 deletions(-)
Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex (original)
+++ sandbox/committee/concepts/wording/wording.tex 2008-09-19 01:15:57 EDT (Fri, 19 Sep 2008)
@@ -2666,6 +2666,19 @@
requirements of the member template are the template requirements of
each of its enclosing constrained templates and any requirements specified or
implied by the member template itself.}
+\addedCC{\enterexample}
+\begin{codeblock}
+concept C<typename T> { void f(const T&); }
+concept D<typename T> { void g(const T&); }
+
+template<C T> class A {
+ requires D<T> void h(const T& x) {
+ f(x); // okay: C<T>::f
+ g(x); // okay: D<T>::g
+ }
+};
+\end{codeblock}
+\addedCC{\exitexample}
\rSec2[temp.variadic]{Variadic templates}
\pnum
@@ -5636,6 +5649,9 @@
\end{itemize}
\pnum
+\addedCC{A requirement is only implied if that requirement is not already present in the template requirements.}
+
+\pnum
\addedConcepts{For every concept requirement in a template's
requirements (including implied requirements), requirements for the
refinements and associated requirements of the concept named by the
@@ -5819,7 +5835,8 @@
following circumstances:}
\begin{itemize}
\item
-\addedConcepts{a type that aliases the archetype has been used in the
+\changedCCC{a type that aliases the archetype has been used}{when it is used}
+\addedConcepts{in the
template argument list of a class template specialization or
concept instance whose definition is required,}
\item \removedCCC{a type that aliases the archetype is provided as an argument to a
@@ -5853,8 +5870,11 @@
\pnum
\addedConcepts{In the declaration of a constrained member, member
- template, or nested class, archetypes are established and committed
- as if it were the only member of its class. \mbox{\enternote} This
+ template, or nested class, archetypes are established}
+\removedCCC{and committed}
+ \addedConcepts{as if}
+\changedCCC{it}{the member}
+\addedConcepts{were the only member of its class. \mbox{\enternote} This
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
@@ -5875,7 +5895,7 @@
\end{codeblock}
\noindent
-\addedConcepts{\mbox{\tcode{X::g}} is evaluated as if in the context}
+\addedConcepts{\mbox{\tcode{X::g}} is evaluated as if in the context:}
\begin{codeblock}
template <C1 T> class X {
@@ -5884,7 +5904,7 @@
\end{codeblock}
\noindent
-\addedConcepts{and \mbox{\tcode{X::B::g}} is evaluated as if in the context}
+\addedConcepts{and \mbox{\tcode{X::B::g}} is evaluated as if in the context:}
\begin{codeblock}
template <C1 T> class X {
@@ -5897,7 +5917,7 @@
\pnum
\addedConcepts{An archetype \mbox{\tcode{T$'$}} for a type
- \mbox{\tcode{T}} is}
+ \mbox{\tcode{T}}} \addedCC{is all of the following that apply:}
\begin{itemize}
\additemConcepts{an object type ([intro.object]), if the template
contains the requirement \mbox{\tcode{std::ObjectType<T>}},}
@@ -6219,7 +6239,7 @@
\end{itemize}
\pnum
-\addedConcepts{A function is \mbox{\techterm{consistent with}} the seed if}
+\addedConcepts{A function is \mbox{\techterm{consistent with}} the seed if} \addedCC{all of the following apply:}
\begin{itemize}
\item \addedConcepts{it has the same name as the seed,}
\item \addedConcepts{its enclosing namespace is the same as the enclosing
@@ -6251,7 +6271,7 @@
with itself. \exitnote}
\pnum
-\addedConcepts{A function template is consistent with the seed if: }
+\addedConcepts{A function template is consistent with the seed if} \addedCC{all of the following apply:}
\begin{itemize}
\additemConcepts{it has the same name as the seed, }
\additemConcepts{its enclosing namespace is the same as the enclosing
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