Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r48861 - sandbox/committee/concepts/wording
From: dgregor_at_[hidden]
Date: 2008-09-18 22:57:08


Author: dgregor
Date: 2008-09-18 22:57:07 EDT (Thu, 18 Sep 2008)
New Revision: 48861
URL: http://svn.boost.org/trac/boost/changeset/48861

Log:
Address a bunch more comments
Text files modified:
   sandbox/committee/concepts/wording/wording.tex | 24 ++++++++++++++----------
   1 files changed, 14 insertions(+), 10 deletions(-)

Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex (original)
+++ sandbox/committee/concepts/wording/wording.tex 2008-09-18 22:57:07 EDT (Thu, 18 Sep 2008)
@@ -3435,7 +3435,7 @@
 \rSec2[temp.deduct]{Template argument deduction}
 \setcounter{Paras}{1}
 \pnum
-\addedConcepts{
+\removedCCC{
 If the reference to the template occurs within a constrained context
 (\mbox{\ref{temp.constrained}}) and the template is an unconstrained
 template, type deduction fails.
@@ -4097,7 +4097,7 @@
   bool operator==(T, U);
   bool operator!=(T, U);
 
- requires SameType<T, U> axiom Reflexivity(T x) {
+ requires std::SameType<T, U> axiom Reflexivity(T x) {
       x == x; // okay: T and U have the same type
     }
 }
@@ -5199,8 +5199,9 @@
 \end{itemize}
 
 \pnum
-\addedConcepts{Within a constrained context, a program shall not refer to an
- unconstrained template.}
+\addedConcepts{Within a constrained context, a program shall not}
+\changedCCC{refer to an
+ unconstrained template}{require a template specialization of a unconstrained template for which the template arguments of the specialization depend on a template parameter}\addedConcepts{.}
 
 \rSec2[temp.req]{Template requirements}
 \pnum
@@ -5266,7 +5267,7 @@
 }
 
 template<typename T, typename U>
-requires C<T> && C<U> && SameType<C<T>::assoc, C<U>::assoc> && D<C<T>::assoc>
+requires C<T> && C<U> && std::SameType<C<T>::assoc, C<U>::assoc> && D<C<T>::assoc>
 C<T>::assoc f(T t, U u) {
   return a(t) + a(u); // okay: C<T>::assoc and C<U>::assoc are the same type
 }
@@ -5305,7 +5306,8 @@
 \addedConcepts{\mbox{\exitexample}}
 
 \pnum
-\addedConcepts{If the requirements of a template are inconsistent, such that
+\addedConcepts{If the requirements of a template are} \removedCCC{inconsistent,}
+\addedConcepts{such that
 no set of template arguments can satisfy all of the requirements, the
 program is ill-formed, no diagnostic required. \mbox{\enterexample}}
 \begin{codeblock}
@@ -5456,9 +5458,9 @@
       are members and in the associated namespaces
       of those namespaces (\mbox{\ref{namespace.def}});
       \mbox{\techterm{using-directives}} in those namespaces are not
- followed during this search. Only those concept maps in (1) that
+ followed during this search.} \changedCCC{Only those concept maps in (1) that
     were explicitly defined or were instantiated from concept map
- templates are considered when determining which namespaces to search.}
+ templates are}{Concept maps in (1) that were implicitly generated from an implicit concept are not} \addedConcepts{considered when determining which namespaces to search.}
 
   \additemConcepts{If a concept map for \mbox{\tcode{I}} can be implicitly
     defined from an implicit concept
@@ -6218,9 +6220,11 @@
 \pnum
 \addedConcepts{A function template is consistent with the seed if: }
 \begin{itemize}
-\additemConcepts{it has the same name as the seed, and}
+\additemConcepts{it has the same name as the seed, }
 \additemConcepts{its enclosing namespace is the same as the enclosing
- namespace of the seed.}
+ namespace of the seed, and}
+\item
+\addedCC{if the candidate set containing the seed is a retained candidate set, the function template is a constrained function template.}
 \end{itemize}
 
 \pnum


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