|
Boost-Commit : |
From: dgregor_at_[hidden]
Date: 2008-05-13 11:52:18
Author: dgregor
Date: 2008-05-13 11:52:18 EDT (Tue, 13 May 2008)
New Revision: 45328
URL: http://svn.boost.org/trac/boost/changeset/45328
Log:
Some updates after talking with Steve and John
Text files modified:
sandbox/committee/concepts/wording/wording.tex | 29 +++++++++++++++++++++--------
1 files changed, 21 insertions(+), 8 deletions(-)
Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex (original)
+++ sandbox/committee/concepts/wording/wording.tex 2008-05-13 11:52:18 EDT (Tue, 13 May 2008)
@@ -4016,7 +4016,8 @@
\mbox{\tcode{f}}), let \mbox{\tcode{R}}
be the return type of \mbox{\tcode{f}}, after substitution of
concept arguments for their corresponding concept
- parameters. Construct an expression \mbox{\tcode{E}}, defined
+ parameters. Construct an expression \mbox{\tcode{E}} in the scope of
+ the concept map, defined
below. Then, the associated function requirement is satisfied if:}
\begin{itemize}
\additemCC{if \mbox{\tcode{R}} is \mbox{\techterm{cv} \tcode{void}}
@@ -4028,8 +4029,9 @@
\end{itemize}
\pnum
-\addedCC{The expression \mbox{\tcode{E}} is defined as follows. Let
- \mbox{\tcode{parm1}}, \mbox{\tcode{parm2}}, ...,
+\addedCC{The expression \mbox{\tcode{E}} is defined differently
+ depending on the associated function and the concept map
+ definition. Let \mbox{\tcode{parm1}}, \mbox{\tcode{parm2}}, ...,
\mbox{\tcode{parm$N$}} be the parameters
of \mbox{\tcode{f}} (after substitution of the concept map
arguments) and \mbox{\tcode{parm1$'$}},
@@ -4052,6 +4054,7 @@
\mbox{\tcode{x}} is an lvalue; otherwise, \mbox{\tcode{x}} is an
rvalue.}
+\addedCC{The expression \mbox{\tcode{E}} is defined as follows:}
\begin{itemize}
\additemCC{If \mbox{\tcode{f}} is an associated non-member function or
function template and the concept map contains one or more function or
@@ -4540,7 +4543,7 @@
of the }\changedCCC{concepts refined by}{concept instances in the
refinement clause of}
\addedConcepts{\mbox{\tcode{C}}}
-\changedCCC{are implicitly}{shall be defined}
+\changedCCC{are implicitly}{will be defined}
\addedConcepts{in the namespace of which the
concept map is a member}
\removedCCC{unless already defined}\addedConcepts{.}
@@ -5689,7 +5692,7 @@
\pnum
\addedCC{In the instantiation of a constrained template, a call
- to a function or a use of an operator that resolves to an associated
+ to a function that resolves to an associated
function in a concept map archetype (\mbox{\ref{temp.archetype}})
will be instantiated as a call to the associated function candidate set
(\mbox{\ref{temp.constrained.set}}) that satisfies the
@@ -5720,12 +5723,12 @@
\exitexample\
\pnum
-\addedCC{A use of a function template specialization in a constrained
- template instantiates to a use of that function template
+\addedCC{A function template specialization in a constrained
+ template instantiates to a reference to that function template
specialization's retained candidate set. The
\mbox{\techterm{retained candidate set}} is a candidate set
(\mbox{\ref{temp.constrained.set}}) whose seed is determined by the
- function template specialization used in the definition of the
+ function template specialization from the definition of the
constrained template, after substitution of the constrained
template's template arguments for their corresponding
archetypes. \mbox{\enterexample}}
@@ -5980,3 +5983,13 @@
from a concept map or constrained template, then for \mbox{\tcode{F}} to
be a viable function it shall be consistent with the seed of the
candidate set (\mbox{\ref{temp.constrained.set}}).}
+
+TODO:
+
+ - [temp.constrained.inst]: Make this apply to template aliases as
+ well, by talking about the resulting type.
+ - [over]: Add a note in here somewhere that says, e.g., ``concepts
+ have some extra rules, see [temp.constrained.set]''.
+ - Make ReferentType allow references, and give pointer-to-member its
+ own concept (MemberPointeeType?). Remember to also fix this in the
+ concepts-in-the-library wording.
\ No newline at end of file
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