Boost logo

Boost-Commit :

From: dgregor_at_[hidden]
Date: 2008-08-23 22:45:38


Author: dgregor
Date: 2008-08-23 22:45:37 EDT (Sat, 23 Aug 2008)
New Revision: 48342
URL: http://svn.boost.org/trac/boost/changeset/48342

Log:
Archetypes can be arithmetic or floating point types, too
Text files modified:
   sandbox/committee/concepts/wording/wording.tex | 52 ++++++++++++++++++++++-----------------
   1 files changed, 29 insertions(+), 23 deletions(-)

Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex (original)
+++ sandbox/committee/concepts/wording/wording.tex 2008-08-23 22:45:37 EDT (Sat, 23 Aug 2008)
@@ -5067,21 +5067,21 @@
 
 \pnum
 \addedConcepts{A concept requirement that refers to the
-\mbox{\tcode{SameType}} concept (\mbox{\ref{concept.support}}) is a
+\mbox{\tcode{std::SameType}} concept (\mbox{\ref{concept.support}}) is a
 \mbox{\techterm{same-type requirement}}. A same-type requirement is satisfied
 when its two template arguments refer to the same type (including the
 same \mbox{\techterm{cv}} qualifiers). In a
 constrained template (\mbox{\ref{temp.constrained}}), a same-type requirement
-\mbox{\tcode{SameType<T1, T2>}} makes the types \mbox{\tcode{T1}} and \mbox{\tcode{T2}}
+\mbox{\tcode{std::SameType<T1, T2>}} makes the types \mbox{\tcode{T1}} and \mbox{\tcode{T2}}
 equivalent. \mbox{\enternote} type equivalence is a
 congruence relation, thus}
 \begin{itemize}
-\item \addedConcepts{\mbox{\tcode{SameType<T1, T2>}} implies \mbox{\tcode{SameType<T2, T1>}},}
-\item \addedConcepts{\mbox{\tcode{SameType<T1, T2>}} and \mbox{\tcode{SameType<T2, T3>}} implies
- \mbox{\tcode{SameType<T1, T3>}},}
-\item \addedConcepts{\mbox{\tcode{SameType<T1, T1>}} is trivially true,}
-\item \addedConcepts{\mbox{\tcode{SameType<T1*, T2*>}} implies \mbox{\tcode{SameType<T1, T2>}} and
- \mbox{\tcode{SameType<T1**, T2**>}}, etc.}
+\item \addedConcepts{\mbox{\tcode{std::SameType<T1, T2>}} implies \mbox{\tcode{std::SameType<T2, T1>}},}
+\item \addedConcepts{\mbox{\tcode{std::SameType<T1, T2>}} and \mbox{\tcode{std::SameType<T2, T3>}} implies
+ \mbox{\tcode{std::SameType<T1, T3>}},}
+\item \addedConcepts{\mbox{\tcode{std::SameType<T1, T1>}} is trivially true,}
+\item \addedConcepts{\mbox{\tcode{std::SameType<T1*, T2*>}} implies \mbox{\tcode{std::SameType<T1, T2>}} and
+ \mbox{\tcode{std::SameType<T1**, T2**>}}, etc.}
 \end{itemize}
 \addedConcepts{\mbox{\exitnote}
 \mbox{\enterexample}}
@@ -5702,31 +5702,37 @@
   \mbox{\tcode{T}} is}
 \begin{itemize}
 \additemConcepts{an object type ([intro.object]), if the template
- contains the requirement \mbox{\tcode{ObjectType<T>}},}
+ contains the requirement \mbox{\tcode{std::ObjectType<T>}},}
 \additemConcepts{a class type (clause~\mbox{\ref{class}}), if the
   template contains the requirement
- \mbox{\tcode{ClassType<T>}},}
+ \mbox{\tcode{std::ClassType<T>}},}
 \additemConcepts{a class (clause~\mbox{\ref{class}}), if the
- template contains the requirement \mbox{\tcode{Class<T>}},}
+ template contains the requirement \mbox{\tcode{std::Class<T>}},}
 \additemConcepts{a union ([class.union]), if the template contains
- the requirement \mbox{\tcode{Union<T>}}},
+ the requirement \mbox{\tcode{std::Union<T>}}},
 \additemConcepts{a trivial type (\mbox{\ref{basic.types}}), if the
   template contains the requirement
- \mbox{\tcode{TrivialType<T>}},}
+ \mbox{\tcode{std::TrivialType<T>}},}
 \additemConcepts{a standard layout type (\mbox{\ref{basic.types}}), if the
   template contains the requirement
- \mbox{\tcode{StandardLayoutType<T>}},}
+ \mbox{\tcode{std::StandardLayoutType<T>}},}
 \additemConcepts{a literal type (\mbox{\ref{basic.types}}), if the
   template contains the requirement
- \mbox{\tcode{LiteralType<T>}},}
+ \mbox{\tcode{std::LiteralType<T>}},}
 \additemConcepts{a scalar type (\mbox{\ref{basic.types}}), if the
   template contains the requirement
- \mbox{\tcode{ScalarType<T>}},}
-\additemConcepts{an integral type ([basic.fundamental]), if the
+ \mbox{\tcode{std::ScalarType<T>}},}
+\additemCC{an arithmetic type (\mbox{\ref{basic.fundamental}}), if the
   template contains the requirement
- \mbox{\tcode{IntegralType<T>}}, and}
-\additemConcepts{an enumeration type ([dcl.enum]), if the template
- contains the requirement \mbox{\tcode{EnumerationType<T>}}.}
+ \mbox{\tcode{std::ArithmeticType<T>}},}
+\additemConcepts{an integral type (\mbox{\ref{basic.fundamental}}), if the
+ template contains the requirement
+ \mbox{\tcode{std::IntegralType<T>}},}
+\additemCC{a floating point type (\mbox{\ref{basic.fundamental}}), if the
+ template contains the requirement
+ \mbox{\tcode{std::FloatingPointType<T>}}, and}
+\additemConcepts{an enumeration type (\mbox{\ref{dcl.enum}}), if the template
+ contains the requirement \mbox{\tcode{std::EnumerationType<T>}}.}
 \end{itemize}
 
 \pnum
@@ -5836,10 +5842,10 @@
 
 \pnum
 \addedConcepts{If the template requirements contain a requirement
-\mbox{\tcode{DerivedFrom<T, Base>}}, then the archetype of
+\mbox{\tcode{std::DerivedFrom<T, Base>}}, then the archetype of
 \mbox{\tcode{T}} is publicly derived from the archetype of \mbox{\tcode{Base}}.
-If the same \mbox{\tcode{DerivedFrom<T, Base>}} requirement occurs more than once
-within the template requirements, the repeated \mbox{\tcode{DerivedFrom<T,
+If the same \mbox{\tcode{std::DerivedFrom<T, Base>}} requirement occurs more than once
+within the template requirements, the repeated \mbox{\tcode{std::DerivedFrom<T,
   Base>}} requirements are ignored.}
 
 \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