|
Boost-Commit : |
From: dgregor_at_[hidden]
Date: 2008-04-17 09:35:29
Author: dgregor
Date: 2008-04-17 09:35:28 EDT (Thu, 17 Apr 2008)
New Revision: 44498
URL: http://svn.boost.org/trac/boost/changeset/44498
Log:
Add implicitly-defined concept maps into the concept map lookup mix, and clean up some other issues of concept map lookup
Text files modified:
sandbox/committee/concepts/wording/wording.tex | 35 +++++++++++++++++++++++++++--------
1 files changed, 27 insertions(+), 8 deletions(-)
Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex (original)
+++ sandbox/committee/concepts/wording/wording.tex 2008-04-17 09:35:28 EDT (Thu, 17 Apr 2008)
@@ -568,8 +568,10 @@
\mbox{\techterm{nested-name-specifier}}\
is looked up in the scope of the concept map (\mbox{\ref{basic.scope.concept}}) or
any of the concept maps for concepts its concept refines
-(\mbox{\ref{concept.member.lookup}}).
-The name shall represent a member of that concept map (which may be
+(\mbox{\ref{concept.member.lookup}}).}
+\addedCC{Concept map lookup (\mbox{\ref{temp.req.sat}}) determines
+ which concept map the \mbox{\techterm{nested-name-specifier}} refers to.}
+\addedConcepts{The name shall represent a member of that concept map (which may be
the candidate set (\mbox{\ref{temp.constrained.set}}) corresponding to an
associated function).
\mbox{\enternote}\
@@ -3089,10 +3091,13 @@
Attempting to create a function type in which a parameter has a type
of \tcode{void}.
-\additemConcepts{Attempting to use a type in a
+\item
+\addedConcepts{Attempting to use a type in a
\mbox{\techterm{nested-name-specifier}} of a
\mbox{\techterm{qualified-id}} that refers to a member in a concept
- instance, for which there is no concept map corresponding to that
+ instance, for which} \changedCC{there is no}{concept map lookup
+ (\mbox{\ref{temp.req.sat}}) does not find a}
+\addedConcepts{concept map corresponding to that
concept instance (\mbox{\ref{concept.map}}).}
\additemConcepts{Attempting to use a class or function template with
@@ -3638,7 +3643,9 @@
\pnum
\addedConcepts{A concept map for an implicit concept is implicitly defined when it is
-needed. The implicitly-defined concept map is defined in the
+needed} \addedCC{to satisfy a requirement (\mbox{\ref{temp.req.sat}})
+or provide a definition for a specific concept instance}.
+\addedConcepts{The implicitly-defined concept map is defined in the
namespace of the concept. \mbox{\enterexample}}
\begin{codeblock}
auto concept Addable<typename T> {
@@ -4772,16 +4779,23 @@
the following ordered sequence:}
\begin{enumerate}
- \additemCC{\mbox{\tcode{S}} is the set of concept maps, each with
+ \additemCC{\mbox{\tcode{S}} is the set of concept maps, each with
name \mbox{\tcode{N}}, that have replaced the concept map
archetypes used in the constrained template.}
\additemCC{\mbox{\tcode{S}} is the set of concept maps found by
- searching for \mbox{\tcode{N}} in the namespaces of which the
+ searching for \mbox{\tcode{N}} in the namespaces of which certain
concept maps in (1) 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.}
+ followed during this search. 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.}
+
+ \additemCC{If a concept map for \mbox{\tcode{I}} can be implicitly
+ defined (\mbox{\ref{concept.map.implicit}}), \mbox{\tcode{S}}
+ contains the implicitly-defined concept map for
+ \mbox{\tcode{I}}. Otherwise, \mbox{\tcode{S}} is empty.}
\end{enumerate}
\mbox{\enterexample}
@@ -4823,6 +4837,11 @@
\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.}
+
+ \additemCC{If a concept map for \mbox{\tcode{I}} can be implicitly
+ defined (\mbox{\ref{concept.map.implicit}}), \mbox{\tcode{S}}
+ contains the implicitly-defined concept map for
+ \mbox{\tcode{I}}. Otherwise, \mbox{\tcode{S}} is empty.}
\end{enumerate}
\addedCC{\mbox{\enternote} When concept map lookup is performed
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