|
Boost-Commit : |
From: dgregor_at_[hidden]
Date: 2008-04-04 16:57:26
Author: dgregor
Date: 2008-04-04 16:57:26 EDT (Fri, 04 Apr 2008)
New Revision: 44043
URL: http://svn.boost.org/trac/boost/changeset/44043
Log:
Removed concept map looking into a concept's namespace when instantiating a constrained template
Text files modified:
sandbox/committee/concepts/wording/wording.tex | 40 +++++++++++++++-------------------------
1 files changed, 15 insertions(+), 25 deletions(-)
Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex (original)
+++ sandbox/committee/concepts/wording/wording.tex 2008-04-04 16:57:26 EDT (Fri, 04 Apr 2008)
@@ -83,7 +83,7 @@
constrained templates (\ref{temp.mem}) but that the
templates are an unconstrained context (\ref{temp.constrained});
their bodies are constrained contexts.
-\item Clarified how requirements are satisfied by concept maps,
+\item Clarified and simplified how requirements are satisfied by concept maps,
including a major cleanup of the specification of concept map lookup
(\ref{temp.req.sat}).
\item Add text to cope with inheriting constructors
@@ -3221,7 +3221,7 @@
concept map
(\mbox{\ref{concept.map}}) for a given concept must provide}\changedCCC{, either
implicitly (\mbox{\ref{concept.map.implicit}}) or explicitly
-(\mbox{\ref{concept.map.fct}}), definitions}{candidate sets
+(\mbox{\ref{concept.map.fct}}), definitions}{associated function candidate sets
(\mbox{\ref{temp.constrained.set}})}
\addedConcepts{for each associated
function in the concept} \addedCC{(\mbox{\ref{concept.map.fct}})}
@@ -3738,11 +3738,9 @@
\rSec3[concept.map.fct]{Associated function definitions}
\pnum
-\addedConcepts{Associated function requirements (\mbox{\ref{concept.fct}}) are
-satisfied by} \changedCCC{function definitions}{candidate sets
- (\mbox{\ref{temp.constrained.set}})}
-\addedConcepts{in the
-body of a concept map.} \changedCCC{These}{Function}
+\addedConcepts{An associated function requirement (\mbox{\ref{concept.fct}}) is
+satisfied by} \changedCCC{function definitions}{an associated function candidate set
+ (\mbox{\ref{temp.constrained.set}}), which can refer to one or more functions inside or outside of the concept map.} \changedCCC{These}{Function}
\addedConcepts{definitions} \addedCC{in the concept map}
\addedConcepts{can be used to adapt the
syntax of the concept arguments
@@ -3775,13 +3773,12 @@
map are \mbox{\techterm{inline}}.}
\pnum
-\addedCC{The candidate set for an associated function \mbox{\tcode{f}}
- is defined as follows. Synthesize a function (call it
- \mbox{\tcode{g}}) whose declaration is the same as the declaration
- of the associated function after substitution of the concept map
- arguments into the associated function. Let \mbox{\tcode{parm1}},
+\addedCC{The associated function candidate set for an associated
+ function (or function template) \mbox{\tcode{f}}
+ is defined as follows. Let \mbox{\tcode{parm1}},
\mbox{\tcode{parm2}}, ..., \mbox{\tcode{parm$N$}} be the parameters
- of \mbox{\tcode{g}} and \mbox{\tcode{parm1$'$}},
+ of \mbox{\tcode{f}} (after substitution of the concept map
+ arguments) and \mbox{\tcode{parm1$'$}},
\mbox{\tcode{parm2$'$}}, ..., \mbox{\tcode{parm$N'$}} be
expressions, where each \mbox{\tcode{parm$i'$}} is an
\mbox{\techterm{id-expression}} naming \mbox{\tcode{parm$i$}}. If
@@ -4832,14 +4829,6 @@
of those namespaces (\mbox{\ref{namespace.def}});
\mbox{\techterm{using-directives}} in those namespaces are not
followed during this search.}
-
- \additemCC{\mbox{\tcode{S}} is the set of concept maps found by
- searching for \mbox{\tcode{N}} in the namespace of which the
- concept of \mbox{\tcode{I}} is a member and that namespace's
- associated namespaces (\mbox{\ref{namespace.def}});
- \mbox{\techterm{using-directives}} in these namespaces are not
- followed during this search and all names found by way of
- \mbox{\techterm{using-declarations}} are ignored.}
\end{enumerate}
\mbox{\enterexample}
@@ -5353,7 +5342,8 @@
\addedConcepts{\mbox{\exitexample\exitnote}}
\pnum
-\addedConcepts{In a constrained template, for each concept requirement
+\addedConcepts{In a constrained}
+\changedCCC{template}{context}\addedConcepts{, for each concept requirement
that is stated in or implied by the template requirements,
a \mbox{\techterm{concept map archetype}} for that
requirement is synthesized by
@@ -5363,10 +5353,10 @@
map, and is used to resolve name
lookup into
requirements scope (\mbox{\ref{basic.scope.req}}) and satisfy the
-requirements of templates used inside the definition of the
-constrained template.
+requirements of templates used inside the}\changedCCC{definition of the
+constrained template}{constrained context}\addedConcepts{.}
%
-\mbox{\enterexample}}
+\addedConcepts{\mbox{\enterexample}}
\begin{codeblock}
concept SignedIntegral<typename T> {
T::T(const T&);
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