Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80951 - in sandbox/generic/libs/doc: html/generic/standard_concepts/concepts standard_concepts/concepts
From: rivorus_at_[hidden]
Date: 2012-10-11 02:23:12


Author: matt_calabrese
Date: 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
New Revision: 80951
URL: http://svn.boost.org/trac/boost/changeset/80951

Log:
Updated Boost.Generic <concepts> documentation.
Text files modified:
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/callable.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/constructible.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/convertible.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyassignable.html | 13 ++++++-----
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyconstructible.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/defaultconstructible.html | 5 +++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equalitycomparable.html | 23 +++++++++++++++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equivalencerelation.html | 17 +++++++++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/explicitlyconvertible.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/floatingpointlike.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/freestoreallocatable.html | 41 +++++++++++++++++++++++++++++++++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasaddressof.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitand.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitandassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitor.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitorassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxor.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxorassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomma.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomplement.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasconstructor.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdereference.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdestructor.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivide.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivideassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasequalto.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreater.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreaterequal.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshift.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshiftassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasless.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslessequal.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicaland.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalnot.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalor.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminus.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminusassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulus.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulusassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiply.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiplyassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnegate.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnotequalto.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplus.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplusassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostdecrement.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostincrement.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspredecrement.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspreincrement.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshift.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshiftassign.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hassubscript.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasswap.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasunaryplus.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasvirtualdestructor.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/identityof.html | 9 +++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/integrallike.html | 24 ++++++++++++++++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lessthancomparable.html | 31 +++++++++++++++++++++++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lvaluereference.html | 5 +++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveassignable.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveconstructible.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/nothrowdestructible.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/predicate.html | 10 ++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/regular.html | 6 ++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvalueof.html | 17 +++++++++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvaluereference.html | 5 +++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/semiregular.html | 7 +++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/signedintegrallike.html | 9 +++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/strictweakorder.html | 23 +++++++++++++++++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/swappable.html | 4 ++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyassignable.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyconstructible.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydefaultconstructible.html | 8 ++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydestructible.html | 9 +++++++
   sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/unsignedintegrallike.html | 9 +++++++
   sandbox/generic/libs/doc/standard_concepts/concepts/callable.qbk | 8 +++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/constructible.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/convertible.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/copy_assignable.qbk | 8 +++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/copy_constructible.qbk | 8 +++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/default_constructible.qbk | 5 ++-
   sandbox/generic/libs/doc/standard_concepts/concepts/equality_comparable.qbk | 21 +++++++++++++++++++
   sandbox/generic/libs/doc/standard_concepts/concepts/equivalence_relation.qbk | 14 ++++++++++++
   sandbox/generic/libs/doc/standard_concepts/concepts/explicitly_convertible.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/floating_point_like.qbk | 5 +++
   sandbox/generic/libs/doc/standard_concepts/concepts/free_store_allocatable.qbk | 40 +++++++++++++++++++++++++++++++++++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_address_of.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_comma.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_complement.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_constructor.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_dereference.qbk | 8 +++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_destructor.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_divide.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_divide_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_equal_to.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_greater.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_greater_equal.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_less.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_less_equal.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_and.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_not.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_or.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_minus.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_minus_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_negate.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_not_equal_to.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_plus.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_plus_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_postdecrement.qbk | 8 ++++--
   sandbox/generic/libs/doc/standard_concepts/concepts/has_postincrement.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_predecrement.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_preincrement.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift_assign.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_subscript.qbk | 8 +++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_swap.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_unary_plus.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/has_virtual_destructor.qbk | 5 +++
   sandbox/generic/libs/doc/standard_concepts/concepts/identity_of.qbk | 8 +++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/integral_like.qbk | 23 ++++++++++++++++++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/less_than_comparable.qbk | 32 +++++++++++++++++++++++++++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/lvalue_reference.qbk | 5 ++-
   sandbox/generic/libs/doc/standard_concepts/concepts/move_assignable.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/move_constructible.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/nothrow_destructible.qbk | 6 ++++
   sandbox/generic/libs/doc/standard_concepts/concepts/predicate.qbk | 9 ++++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/regular.qbk | 6 +++-
   sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_of.qbk | 11 ++++++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_reference.qbk | 5 ++-
   sandbox/generic/libs/doc/standard_concepts/concepts/semiregular.qbk | 7 ++++-
   sandbox/generic/libs/doc/standard_concepts/concepts/signed_integral_like.qbk | 7 +++++
   sandbox/generic/libs/doc/standard_concepts/concepts/strict_weak_order.qbk | 20 ++++++++++++++++++
   sandbox/generic/libs/doc/standard_concepts/concepts/swappable.qbk | 4 +-
   sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_assignable.qbk | 6 ++++
   sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_constructible.qbk | 6 ++++
   sandbox/generic/libs/doc/standard_concepts/concepts/trivially_default_constructible.qbk | 6 ++++
   sandbox/generic/libs/doc/standard_concepts/concepts/trivially_destructible.qbk | 7 +++++
   sandbox/generic/libs/doc/standard_concepts/concepts/unsigned_integral_like.qbk | 7 +++++
   152 files changed, 1059 insertions(+), 222 deletions(-)

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/callable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/callable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/callable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.callable.description"></a></span><a class="link" href="callable.html#generic.standard_concepts.concepts.callable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes function object types callable given arguments of types <code class="computeroutput"><span class="identifier">Args</span><span class="special">...</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.callable.h1"></a>
@@ -59,6 +59,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">Callable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">F</span><span class="special">&amp;,</span> <span class="identifier">Args</span><span class="special">...);</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">F</span><span class="special">&amp;&amp;,</span> <span class="identifier">Args</span><span class="special">...);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/constructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/constructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/constructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.constructible.description"></a></span><a class="link" href="constructible.html#generic.standard_concepts.concepts.constructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that can be constructed from a given set of arguments that
+ also have a no-throw destructor.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.constructible.h1"></a>
@@ -59,6 +60,9 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">HasConstructor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;,</span> <span class="identifier">NothrowDestructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/convertible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/convertible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/convertible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.convertible.description"></a></span><a class="link" href="convertible.html#generic.standard_concepts.concepts.convertible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an implicit conversion from <code class="computeroutput"><span class="identifier">T</span></code>
+ to <code class="computeroutput"><span class="identifier">U</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.convertible.h1"></a>
@@ -58,6 +59,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">ExplicitlyConvertible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">operator</span> <span class="identifier">U</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyassignable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyassignable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyassignable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.copyassignable.description"></a></span><a class="link" href="copyassignable.html#generic.standard_concepts.concepts.copyassignable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with the ability to assign to an object.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.copyassignable.h1"></a>
@@ -55,11 +55,6 @@
 <span class="special">,</span> <span class="special">(</span> <span class="keyword">public</span> <span class="special">(</span><span class="identifier">HasAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;)</span>
            <span class="special">(</span><span class="identifier">MoveAssignable</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;)</span>
   <span class="special">)</span>
-<span class="special">,</span> <span class="special">(</span> <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">HasAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span> <span class="special">)</span>
-<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span> <span class="identifier">result_type</span>
- <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">HasAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span>
- <span class="special">&gt;</span>
- <span class="special">)</span>
 <span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">CopyPreservation</span><span class="special">(</span> <span class="special">(</span><span class="identifier">T</span><span class="special">&amp;)</span> <span class="identifier">x</span><span class="special">,</span> <span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="identifier">y</span> <span class="special">)</span> <span class="special">{</span>
       <span class="special">(</span><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">y</span><span class="special">;</span>
     <span class="special">}</span>
@@ -68,6 +63,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">CopyAssignable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">HasAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;,</span> <span class="identifier">MoveAssignable</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">axiom</span> <span class="identifier">CopyPreservation</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">y</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyconstructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyconstructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/copyconstructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.copyconstructible.description"></a></span><a class="link" href="copyconstructible.html#generic.standard_concepts.concepts.copyconstructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a public copy constructor.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.copyconstructible.h1"></a>
@@ -61,6 +61,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">CopyConstructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MoveConstructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span> <span class="special">{</span>
+ <span class="keyword">axiom</span> <span class="identifier">CopyPreservation</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">T</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">x</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/defaultconstructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/defaultconstructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/defaultconstructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.defaultconstructible.description"></a></span><a class="link" href="defaultconstructible.html#generic.standard_concepts.concepts.defaultconstructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types for which an object can be constructed without initializing
+ the object to any particular value.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.defaultconstructible.h1"></a>
@@ -57,6 +58,8 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">DefaultConstructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equalitycomparable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equalitycomparable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equalitycomparable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.equalitycomparable.description"></a></span><a class="link" href="equalitycomparable.html#generic.standard_concepts.concepts.equalitycomparable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types whose values can be compared for equality with <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>,
+ which is an equivalence relation.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.equalitycomparable.h1"></a>
@@ -78,6 +79,26 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">EqualityComparable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">HasEqualTo</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">!(</span><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span><span class="special">);</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Consistency</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="special">!(</span><span class="identifier">a</span> <span class="special">!=</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Reflexivity</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">a</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">;</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Symmetry</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span><span class="special">)</span>
+ <span class="identifier">b</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Transitivity</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="identifier">b</span> <span class="special">&amp;&amp;</span> <span class="identifier">b</span> <span class="special">==</span> <span class="identifier">c</span><span class="special">)</span>
+ <span class="identifier">a</span> <span class="special">==</span> <span class="identifier">c</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equivalencerelation.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equivalencerelation.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/equivalencerelation.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.equivalencerelation.description"></a></span><a class="link" href="equivalencerelation.html#generic.standard_concepts.concepts.equivalencerelation.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes an equivalence relation, <code class="computeroutput"><span class="identifier">F</span></code>,
+ on a type <code class="computeroutput"><span class="identifier">T</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.equivalencerelation.h1"></a>
@@ -71,6 +72,20 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">EquivalenceRelation</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Predicate</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">axiom</span> <span class="identifier">Reflexivity</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Symmetry</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">))</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Transitivity</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/explicitlyconvertible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/explicitlyconvertible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/explicitlyconvertible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.explicitlyconvertible.description"></a></span><a class="link" href="explicitlyconvertible.html#generic.standard_concepts.concepts.explicitlyconvertible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a conversion (explicit or implicit) from <code class="computeroutput"><span class="identifier">T</span></code> to <code class="computeroutput"><span class="identifier">U</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.explicitlyconvertible.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">ExplicitlyConvertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="identifier">U</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/floatingpointlike.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/floatingpointlike.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/floatingpointlike.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.floatingpointlike.description"></a></span><a class="link" href="floatingpointlike.html#generic.standard_concepts.concepts.floatingpointlike.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes floating-point types.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.floatingpointlike.h1"></a>
@@ -57,6 +57,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">FloatingPointLike</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">ArithmeticLike</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every floating point type T, an empty concept map</span>
+<span class="comment">// FloatingPointLike&lt;T&gt; shall be defined in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/freestoreallocatable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/freestoreallocatable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/freestoreallocatable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,9 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.freestoreallocatable.description"></a></span><a class="link" href="freestoreallocatable.html#generic.standard_concepts.concepts.freestoreallocatable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types for which objects and arrays of objects can be allocated
+ on or freed from the free store with <code class="computeroutput"><span class="keyword">new</span></code>
+ and <code class="computeroutput"><span class="keyword">delete</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.freestoreallocatable.h1"></a>
@@ -90,6 +92,43 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">FreeStoreAllocatable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span><span class="special">*</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">);</span>
+ <span class="keyword">void</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">(</span><span class="keyword">void</span><span class="special">*);</span>
+
+ <span class="keyword">void</span><span class="special">*</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">size</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">[](</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span><span class="special">*</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">nothrow_t</span><span class="special">&amp;)</span> <span class="special">{</span>
+ <span class="keyword">try</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">size</span><span class="special">);</span>
+ <span class="special">}</span> <span class="keyword">catch</span><span class="special">(...)</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span><span class="special">*</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">size_t</span> <span class="identifier">size</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">nothrow_t</span><span class="special">&amp;)</span> <span class="special">{</span>
+ <span class="keyword">try</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">size</span><span class="special">);</span>
+ <span class="special">}</span> <span class="keyword">catch</span><span class="special">(...)</span> <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">(</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">nothrow_t</span><span class="special">&amp;)</span> <span class="special">{</span>
+ <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">void</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">[](</span><span class="keyword">void</span><span class="special">*</span> <span class="identifier">ptr</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">nothrow_t</span><span class="special">&amp;)</span> <span class="special">{</span>
+ <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span> <span class="keyword">delete</span><span class="special">[](</span><span class="identifier">ptr</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasaddressof.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasaddressof.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasaddressof.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasaddressof.description"></a></span><a class="link" href="hasaddressof.html#generic.standard_concepts.concepts.hasaddressof.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an address-of <code class="computeroutput"><span class="keyword">operator</span><span class="special">&amp;</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasaddressof.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasAddressOf</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">&amp;(</span><span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasassign.description"></a></span><a class="link" href="hasassign.html#generic.standard_concepts.concepts.hasassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an assignment operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span><span class="special">=(</span><span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitand.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitand.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitand.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasbitand.description"></a></span><a class="link" href="hasbitand.html#generic.standard_concepts.concepts.hasbitand.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">&amp;</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasbitand.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasBitAnd</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">&amp;(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitandassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitandassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitandassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasbitandassign.description"></a></span><a class="link" href="hasbitandassign.html#generic.standard_concepts.concepts.hasbitandassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&amp;=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasbitandassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasBitAndAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">&amp;=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitor.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitor.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitor.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasbitor.description"></a></span><a class="link" href="hasbitor.html#generic.standard_concepts.concepts.hasbitor.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasbitor.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasBitOr</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">|(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitorassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitorassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitorassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasbitorassign.description"></a></span><a class="link" href="hasbitorassign.html#generic.standard_concepts.concepts.hasbitorassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">|=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasbitorassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasBitOrAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">|=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxor.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxor.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxor.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasbitxor.description"></a></span><a class="link" href="hasbitxor.html#generic.standard_concepts.concepts.hasbitxor.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">^</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasbitxor.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasBitXor</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">^(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxorassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxorassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasbitxorassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasbitxorassign.description"></a></span><a class="link" href="hasbitxorassign.html#generic.standard_concepts.concepts.hasbitxorassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">^=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasbitxorassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasBitXorAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">^=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomma.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomma.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomma.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hascomma.description"></a></span><a class="link" href="hascomma.html#generic.standard_concepts.concepts.hascomma.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a comma operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hascomma.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasComma</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">,(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomplement.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomplement.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hascomplement.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hascomplement.description"></a></span><a class="link" href="hascomplement.html#generic.standard_concepts.concepts.hascomplement.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">~</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hascomplement.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasComplement</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">~(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasconstructor.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasconstructor.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasconstructor.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasconstructor.description"></a></span><a class="link" href="hasconstructor.html#generic.standard_concepts.concepts.hasconstructor.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that can be constructed from a given set of arguments.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasconstructor.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasConstructor</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span><span class="identifier">Args</span><span class="special">...);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdereference.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdereference.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdereference.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasdereference.description"></a></span><a class="link" href="hasdereference.html#generic.standard_concepts.concepts.hasdereference.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a dereferencing <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasdereference.h1"></a>
@@ -59,6 +59,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasDereference</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">*(</span><span class="identifier">T</span><span class="special">&amp;);</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">*(</span><span class="identifier">T</span><span class="special">&amp;&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdestructor.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdestructor.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdestructor.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasdestructor.description"></a></span><a class="link" href="hasdestructor.html#generic.standard_concepts.concepts.hasdestructor.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that can be destroyed. These are scalar types, references,
+ and class types with a public non-deleted destructor.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasdestructor.h1"></a>
@@ -57,6 +58,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasDestructor</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">T</span><span class="special">::~</span><span class="identifier">T</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivide.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivide.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivide.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasdivide.description"></a></span><a class="link" href="hasdivide.html#generic.standard_concepts.concepts.hasdivide.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">/</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasdivide.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasDivide</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">/(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivideassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivideassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasdivideassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasdivideassign.description"></a></span><a class="link" href="hasdivideassign.html#generic.standard_concepts.concepts.hasdivideassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">/=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasdivideassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasDivideAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">/=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasequalto.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasequalto.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasequalto.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasequalto.description"></a></span><a class="link" href="hasequalto.html#generic.standard_concepts.concepts.hasequalto.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasequalto.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasEqualTo</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreater.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreater.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreater.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasgreater.description"></a></span><a class="link" href="hasgreater.html#generic.standard_concepts.concepts.hasgreater.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasgreater.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasGreater</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreaterequal.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreaterequal.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasgreaterequal.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasgreaterequal.description"></a></span><a class="link" href="hasgreaterequal.html#generic.standard_concepts.concepts.hasgreaterequal.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasgreaterequal.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasGreaterEqual</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshift.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshift.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshift.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasleftshift.description"></a></span><a class="link" href="hasleftshift.html#generic.standard_concepts.concepts.hasleftshift.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasleftshift.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasLeftShift</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshiftassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshiftassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasleftshiftassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasleftshiftassign.description"></a></span><a class="link" href="hasleftshiftassign.html#generic.standard_concepts.concepts.hasleftshiftassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;&lt;=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasleftshiftassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasLeftShiftAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">&lt;&lt;=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasless.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasless.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasless.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasless.description"></a></span><a class="link" href="hasless.html#generic.standard_concepts.concepts.hasless.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasless.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasLess</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslessequal.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslessequal.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslessequal.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haslessequal.description"></a></span><a class="link" href="haslessequal.html#generic.standard_concepts.concepts.haslessequal.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haslessequal.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasLessEqual</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicaland.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicaland.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicaland.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haslogicaland.description"></a></span><a class="link" href="haslogicaland.html#generic.standard_concepts.concepts.haslogicaland.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a logical conjunction operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haslogicaland.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasLogicalAnd</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&amp;&amp;(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalnot.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalnot.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalnot.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haslogicalnot.description"></a></span><a class="link" href="haslogicalnot.html#generic.standard_concepts.concepts.haslogicalnot.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a logical negation operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haslogicalnot.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasLogicalNot</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalor.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalor.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haslogicalor.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haslogicalor.description"></a></span><a class="link" href="haslogicalor.html#generic.standard_concepts.concepts.haslogicalor.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a logical disjunction operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haslogicalor.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasLogicalOr</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">||(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminus.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminus.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminus.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasminus.description"></a></span><a class="link" href="hasminus.html#generic.standard_concepts.concepts.hasminus.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasminus.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasMinus</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminusassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminusassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasminusassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasminusassign.description"></a></span><a class="link" href="hasminusassign.html#generic.standard_concepts.concepts.hasminusassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">-=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasminusassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasMinusAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">-=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulus.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulus.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulus.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasmodulus.description"></a></span><a class="link" href="hasmodulus.html#generic.standard_concepts.concepts.hasmodulus.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">%</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasmodulus.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasModulus</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">%(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulusassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulusassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmodulusassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasmodulusassign.description"></a></span><a class="link" href="hasmodulusassign.html#generic.standard_concepts.concepts.hasmodulusassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">%=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasmodulusassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasModulusAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">%=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiply.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiply.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiply.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasmultiply.description"></a></span><a class="link" href="hasmultiply.html#generic.standard_concepts.concepts.hasmultiply.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">*</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasmultiply.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasMultiply</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">*(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiplyassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiplyassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasmultiplyassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasmultiplyassign.description"></a></span><a class="link" href="hasmultiplyassign.html#generic.standard_concepts.concepts.hasmultiplyassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">*=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasmultiplyassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasMultiplyAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">*=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnegate.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnegate.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnegate.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasnegate.description"></a></span><a class="link" href="hasnegate.html#generic.standard_concepts.concepts.hasnegate.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">-</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasnegate.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasNegate</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">-(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnotequalto.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnotequalto.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasnotequalto.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasnotequalto.description"></a></span><a class="link" href="hasnotequalto.html#generic.standard_concepts.concepts.hasnotequalto.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">!=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasnotequalto.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasNotEqualTo</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplus.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplus.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplus.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasplus.description"></a></span><a class="link" href="hasplus.html#generic.standard_concepts.concepts.hasplus.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a binary <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasplus.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasPlus</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplusassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplusassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasplusassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasplusassign.description"></a></span><a class="link" href="hasplusassign.html#generic.standard_concepts.concepts.hasplusassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasplusassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasPlusAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">+=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostdecrement.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostdecrement.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostdecrement.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haspostdecrement.description"></a></span><a class="link" href="haspostdecrement.html#generic.standard_concepts.concepts.haspostdecrement.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a post-decrement operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haspostdecrement.h1"></a>
@@ -58,6 +58,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasPostdecrement</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">--(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">int</span><span class="special">);</span>
+<span class="special">}</span></pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostincrement.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostincrement.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspostincrement.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haspostincrement.description"></a></span><a class="link" href="haspostincrement.html#generic.standard_concepts.concepts.haspostincrement.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a post-increment operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haspostincrement.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasPostincrement</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">++(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">int</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspredecrement.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspredecrement.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspredecrement.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haspredecrement.description"></a></span><a class="link" href="haspredecrement.html#generic.standard_concepts.concepts.haspredecrement.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a pre-decrement operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haspredecrement.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasPredecrement</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">--(</span><span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspreincrement.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspreincrement.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/haspreincrement.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.haspreincrement.description"></a></span><a class="link" href="haspreincrement.html#generic.standard_concepts.concepts.haspreincrement.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a pre-increment operator.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.haspreincrement.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasPreincrement</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">++(</span><span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshift.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshift.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshift.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasrightshift.description"></a></span><a class="link" href="hasrightshift.html#generic.standard_concepts.concepts.hasrightshift.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasrightshift.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasRightShift</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">&gt;&gt;(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshiftassign.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshiftassign.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasrightshiftassign.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasrightshiftassign.description"></a></span><a class="link" href="hasrightshiftassign.html#generic.standard_concepts.concepts.hasrightshiftassign.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with an <code class="computeroutput"><span class="keyword">operator</span><span class="special">&gt;&gt;=</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasrightshiftassign.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasRightShiftAssign</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">&gt;&gt;=(</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hassubscript.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hassubscript.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hassubscript.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hassubscript.description"></a></span><a class="link" href="hassubscript.html#generic.standard_concepts.concepts.hassubscript.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a subscript <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hassubscript.h1"></a>
@@ -59,6 +59,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasSubscript</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">T</span><span class="special">&amp;&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasswap.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasswap.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasswap.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasswap.description"></a></span><a class="link" href="hasswap.html#generic.standard_concepts.concepts.hasswap.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that have a swap operation.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasswap.h1"></a>
@@ -57,6 +57,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasSwap</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">U</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasunaryplus.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasunaryplus.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasunaryplus.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasunaryplus.description"></a></span><a class="link" href="hasunaryplus.html#generic.standard_concepts.concepts.hasunaryplus.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a unary <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasunaryplus.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">HasUnaryPlus</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">+(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasvirtualdestructor.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasvirtualdestructor.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/hasvirtualdestructor.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.hasvirtualdestructor.description"></a></span><a class="link" href="hasvirtualdestructor.html#generic.standard_concepts.concepts.hasvirtualdestructor.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with a virtual destructor.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.hasvirtualdestructor.h1"></a>
@@ -58,6 +58,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">HasVirtualDestructor</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">HasDestructor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">PolymorphicClass</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every class type T that has a virtual destructor, a concept map</span>
+<span class="comment">// HasVirtualDestructor&lt;T&gt; shall be implicitly defined in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/identityof.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/identityof.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/identityof.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,9 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.identityof.description"></a></span><a class="link" href="identityof.html#generic.standard_concepts.concepts.identityof.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Concept form of the <code class="computeroutput"><span class="identifier">identity</span></code>
+ type metafunction ( N2914
+ [<span class="emphasis"><em>identity.operation</em></span>]).
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.identityof.h1"></a>
@@ -58,6 +60,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">IdentityOf</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">type</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">;</span>
+ <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;;</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/integrallike.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/integrallike.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/integrallike.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.integrallike.description"></a></span><a class="link" href="integrallike.html#generic.standard_concepts.concepts.integrallike.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that provide all of the operations available on integral
+ types.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.integrallike.h1"></a>
@@ -76,6 +77,27 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">IntegralLike</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">ArithmeticLike</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">HasComplement</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">HasModulus</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">HasBitAnd</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">HasBitXor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">HasBitOr</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">HasLeftShift</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">HasRightShift</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;,</span>
+ <span class="identifier">HasModulusAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;,</span> <span class="identifier">HasLeftShiftAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;,</span> <span class="identifier">HasRightShiftAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;,</span>
+ <span class="identifier">HasBitAndAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;,</span> <span class="identifier">HasBitXorAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;,</span> <span class="identifier">HasBitOrAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span> <span class="special">{</span>
+<span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">HasComplement</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">HasModulus</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">HasBitAnd</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">HasBitXor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">HasBitOr</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">HasLeftShift</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">HasRightShift</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">HasModulusAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">HasLeftShiftAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">HasRightShiftAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">HasBitAndAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">HasBitXorAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">HasBitOrAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;;</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lessthancomparable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lessthancomparable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lessthancomparable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.lessthancomparable.description"></a></span><a class="link" href="lessthancomparable.html#generic.standard_concepts.concepts.lessthancomparable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types whose values can be ordered, where <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> is a strict weak ordering relation.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.lessthancomparable.h1"></a>
@@ -81,6 +81,35 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">LessThanComparable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">HasLess</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">;</span> <span class="special">}</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;=(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">!(</span><span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">);</span> <span class="special">}</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&gt;=(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">!(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span><span class="special">);</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Consistency</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">a</span> <span class="special">&gt;</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">);</span>
+ <span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;=</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="special">!(</span><span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">);</span>
+ <span class="special">(</span><span class="identifier">a</span> <span class="special">&gt;=</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="special">!(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Irreflexivity</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">{</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span><span class="special">;</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Antisymmetry</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Transitivity</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span> <span class="special">&amp;&amp;</span> <span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">c</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">TransitivityOfEquivalence</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!(</span><span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!(</span><span class="identifier">b</span> <span class="special">&lt;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!(</span><span class="identifier">c</span> <span class="special">&lt;</span> <span class="identifier">b</span><span class="special">))</span>
+ <span class="special">(!(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!(</span><span class="identifier">c</span> <span class="special">&lt;</span> <span class="identifier">a</span><span class="special">))</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lvaluereference.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lvaluereference.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/lvaluereference.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.lvaluereference.description"></a></span><a class="link" href="lvaluereference.html#generic.standard_concepts.concepts.lvaluereference.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Determines whether a given type is an lvalue reference type.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.lvaluereference.h1"></a>
@@ -61,6 +61,9 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">LvalueReference</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">concept_map</span> <span class="identifier">LvalueReference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&gt;</span> <span class="special">{</span> <span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveassignable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveassignable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveassignable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.moveassignable.description"></a></span><a class="link" href="moveassignable.html#generic.standard_concepts.concepts.moveassignable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types with the ability to assign to an object from an rvalue,
+ potentially altering the rvalue.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.moveassignable.h1"></a>
@@ -59,6 +60,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MoveAssignable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">HasAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&amp;&gt;</span> <span class="special">{</span>
+ <span class="keyword">requires</span> <span class="identifier">RvalueOf</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">HasAssign</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">RvalueOf</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;;</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveconstructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveconstructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/moveconstructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.moveconstructible.description"></a></span><a class="link" href="moveconstructible.html#generic.standard_concepts.concepts.moveconstructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that can move-construct an object from a value of the same
+ type, possibly altering that value.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.moveconstructible.h1"></a>
@@ -59,6 +60,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MoveConstructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&amp;&gt;</span> <span class="special">{</span>
+ <span class="keyword">requires</span> <span class="identifier">RvalueOf</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">RvalueOf</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;;</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/nothrowdestructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/nothrowdestructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/nothrowdestructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,9 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.nothrowdestructible.description"></a></span><a class="link" href="nothrowdestructible.html#generic.standard_concepts.concepts.nothrowdestructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that can be destroyed and where destruction will not propagate
+ an exception. These are scalar types, references, and class types with
+ a public non-deleted destructor that is implictly or explicitly <code class="computeroutput"><span class="keyword">noexcept</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.nothrowdestructible.h1"></a>
@@ -57,6 +59,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">NothrowDestructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">HasDestructor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: no exception is propagated.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/predicate.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/predicate.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/predicate.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,11 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.predicate.description"></a></span><a class="link" href="predicate.html#generic.standard_concepts.concepts.predicate.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes function objects callable with some set of arguments, the result
+ of which can be used in a context that requires a <code class="computeroutput"><span class="keyword">bool</span></code>.
+ In addition to the specified syntactic requirements, predicate function
+ objects shall not apply any non-constant function through the predicate
+ arguments.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.predicate.h1"></a>
@@ -58,6 +62,10 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">Predicate</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Callable</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Args</span><span class="special">&amp;...&gt;</span> <span class="special">{</span>
+ <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">result_type</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">&gt;;</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/regular.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/regular.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/regular.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.regular.description"></a></span><a class="link" href="regular.html#generic.standard_concepts.concepts.regular.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes semi-regular types that are default constructible and have equality
+ comparison operators.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.regular.h1"></a>
@@ -57,6 +58,9 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">Regular</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">Semiregular</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">DefaultConstructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">EqualityComparable</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvalueof.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvalueof.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvalueof.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.rvalueof.description"></a></span><a class="link" href="rvalueof.html#generic.standard_concepts.concepts.rvalueof.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes the rvalue reference type for an arbitrary type <code class="computeroutput"><span class="identifier">T</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.rvalueof.h1"></a>
@@ -57,9 +57,24 @@
 <span class="comment">//, ( requires Convertible&lt;T&amp;&amp;, type&gt; ) // NOTE: This is commented out because it implies implicit conversion from T&amp; to T&amp;&amp;, which correctly fails. Standard error??const T&amp;</span>
 <span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">ExplicitlyConvertible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&amp;,</span> <span class="identifier">type</span><span class="special">&gt;</span> <span class="special">)</span> <span class="comment">// NOTE: This is not in the standard and replaces the above line.</span>
 <span class="special">)</span>
+
+<span class="identifier">BOOST_GENERIC_CONCEPT_MAP</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">template</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">T</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">generic</span><span class="special">::</span><span class="identifier">std_concept</span><span class="special">::</span><span class="identifier">RvalueOf</span><span class="special">)(</span><span class="identifier">T</span><span class="special">&amp;)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">typedef</span> <span class="identifier">T</span><span class="special">&amp;&amp;</span> <span class="identifier">type</span> <span class="special">)</span>
+<span class="special">)</span>
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">RvalueOf</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typename</span> <span class="identifier">type</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">&amp;&amp;;</span>
+ <span class="keyword">requires</span> <span class="identifier">ExplicitlyConvertible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">type</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&amp;,</span> <span class="identifier">type</span><span class="special">&gt;;</span>
+<span class="special">}</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">concept_map</span> <span class="identifier">RvalueOf</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span><span class="special">&amp;&amp;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvaluereference.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvaluereference.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/rvaluereference.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.rvaluereference.description"></a></span><a class="link" href="rvaluereference.html#generic.standard_concepts.concepts.rvaluereference.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Determines whether a given type is an rvalue reference type.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.rvaluereference.h1"></a>
@@ -61,6 +61,9 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">RvalueReference</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">concept_map</span> <span class="identifier">RvalueReference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&amp;&gt;</span> <span class="special">{</span> <span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/semiregular.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/semiregular.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/semiregular.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.semiregular.description"></a></span><a class="link" href="semiregular.html#generic.standard_concepts.concepts.semiregular.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Collects several common requirements supported by most types.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.semiregular.h1"></a>
@@ -60,6 +60,11 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">Semiregular</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">CopyConstructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">CopyAssignable</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;,</span> <span class="identifier">FreeStoreAllocatable</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">CopyAssignable</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;;</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/signedintegrallike.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/signedintegrallike.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/signedintegrallike.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.signedintegrallike.description"></a></span><a class="link" href="signedintegrallike.html#generic.standard_concepts.concepts.signedintegrallike.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that provide all of the operations available on signed
+ integral types.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.signedintegrallike.h1"></a>
@@ -57,6 +58,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">SignedIntegralLike</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">IntegralLike</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every signed integral type T, including signed extended</span>
+<span class="comment">// integral types, an empty concept map SignedIntegralLike&lt;T&gt; shall be defined</span>
+<span class="comment">// in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/strictweakorder.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/strictweakorder.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/strictweakorder.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.strictweakorder.description"></a></span><a class="link" href="strictweakorder.html#generic.standard_concepts.concepts.strictweakorder.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes a strict weak ordering relation, <code class="computeroutput"><span class="identifier">F</span></code>,
+ on a type <code class="computeroutput"><span class="identifier">T</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.strictweakorder.h1"></a>
@@ -72,6 +73,26 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">StrictWeakOrder</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Predicate</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Irreflexivity</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span><span class="special">;</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Antisymmetry</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">))</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Transitivity</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">TransitivityOfEquivalence</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(!</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">b</span><span class=
"special">))</span>
+ <span class="special">(!</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">a</span><span class="special">))</span> <span class="special">==</span> <span class="keyword">true</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/swappable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/swappable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/swappable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.swappable.description"></a></span><a class="link" href="swappable.html#generic.standard_concepts.concepts.swappable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types for which two values of that type can be swapped.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.swappable.h1"></a>
@@ -57,6 +57,8 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">Swappable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">HasSwap</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;,</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span> <span class="special">{</span> <span class="special">}</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyassignable.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyassignable.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyassignable.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.triviallycopyassignable.description"></a></span><a class="link" href="triviallycopyassignable.html#generic.standard_concepts.concepts.triviallycopyassignable.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types whose copy-assignment operator is equivalent to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.triviallycopyassignable.h1"></a>
@@ -59,6 +59,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">TriviallyCopyAssignable</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">CopyAssignable</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every type T that is a trivial type (ref) or a class type with</span>
+<span class="comment">// a trivial copy assignment operator, a concept map TriviallyCopyAssignable&lt;T&gt;</span>
+<span class="comment">// shall be implicitly defined in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyconstructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyconstructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallycopyconstructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.triviallycopyconstructible.description"></a></span><a class="link" href="triviallycopyconstructible.html#generic.standard_concepts.concepts.triviallycopyconstructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types whose copy constructor is equivalent to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.triviallycopyconstructible.h1"></a>
@@ -59,6 +59,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">TriviallyCopyConstructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">CopyConstructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every type T that is a trivial type, a reference, or a class</span>
+<span class="comment">// type with a trivial copy constructor, a concept map</span>
+<span class="comment">// TriviallyCopyConstructible&lt;T&gt; shall be implicitly defined in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydefaultconstructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydefaultconstructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydefaultconstructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,7 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.triviallydefaultconstructible.description"></a></span><a class="link" href="triviallydefaultconstructible.html#generic.standard_concepts.concepts.triviallydefaultconstructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types whose default constructor is trivial.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.triviallydefaultconstructible.h1"></a>
@@ -59,6 +59,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">TriviallyDefaultConstructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">DefaultConstructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every type T that is a trivial type or a class type with a</span>
+<span class="comment">// trivial default constructor, a concept map TriviallyDefaultConstructible&lt;T&gt;</span>
+<span class="comment">// shall be implicitly defined in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydestructible.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydestructible.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/triviallydestructible.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.triviallydestructible.description"></a></span><a class="link" href="triviallydestructible.html#generic.standard_concepts.concepts.triviallydestructible.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types whose destructors do not need to be executed when the object
+ is destroyed.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.triviallydestructible.h1"></a>
@@ -59,6 +60,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">TriviallyDestructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">NothrowDestructible</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every type T that is a trivial type, reference, or class type</span>
+<span class="comment">// with a trivial destructor, a concept map TriviallyDestructible&lt;T&gt; shall be</span>
+<span class="comment">// implicitly defined in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/unsignedintegrallike.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/unsignedintegrallike.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/concepts/unsignedintegrallike.html 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -22,7 +22,8 @@
           <span class="phrase"><a name="generic.standard_concepts.concepts.unsignedintegrallike.description"></a></span><a class="link" href="unsignedintegrallike.html#generic.standard_concepts.concepts.unsignedintegrallike.description">Description</a>
         </h6>
 <p>
- Describes arithmetic types.
+ Describes types that provide all of the operations available on unsigned
+ integral types.
         </p>
 <h6>
 <a name="generic.standard_concepts.concepts.unsignedintegrallike.h1"></a>
@@ -57,6 +58,12 @@
 </pre>
                 </td>
 <td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">UnsignedIntegralLike</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">IntegralLike</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">{</span> <span class="special">}</span>
+
+<span class="comment">// Requires: for every unsigned integral type T, including unsigned extended</span>
+<span class="comment">// integral types, an empty concept map UnsignedIntegralLike&lt;T&gt; shall be defined</span>
+<span class="comment">// in namespace std.</span>
+</pre>
                 </td>
 </tr></tbody>
 </table></div>

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/callable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/callable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/callable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section Callable]
 
 [heading Description]
-Describes arithmetic types.
+Describes function object types callable given arguments of types `Args...`.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[Callable]]
 [``
-
+auto concept Callable<typename F, typename... Args> {
+ typename result_type;
+ result_type operator()(F&, Args...);
+ result_type operator()(F&&, Args...);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/constructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/constructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/constructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section Constructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that can be constructed from a given set of arguments that also
+have a no-throw destructor.
 
 [heading Definition]
 
@@ -19,7 +20,8 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[Constructible]]
 [``
-
+auto concept Constructible<typename T, typename... Args>
+ : HasConstructor<T, Args...>, NothrowDestructible<T> { }
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/convertible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/convertible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/convertible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section Convertible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an implicit conversion from `T` to `U`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[Convertible]]
 [``
-
+auto concept Convertible<typename T, typename U> : ExplicitlyConvertible<T, U> {
+ operator U(const T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/copy_assignable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/copy_assignable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/copy_assignable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section CopyAssignable]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with the ability to assign to an object.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[CopyAssignable]]
 [``
-
+auto concept CopyAssignable<typename T> : HasAssign<T, const T&>, MoveAssignable<T> {
+ axiom CopyPreservation(T& x, T y) {
+ (x = y, x) == y;
+ }
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/copy_constructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/copy_constructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/copy_constructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section CopyConstructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a public copy constructor.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[CopyConstructible]]
 [``
-
+auto concept CopyConstructible<typename T> : MoveConstructible<T>, Constructible<T, const T&> {
+ axiom CopyPreservation(T x) {
+ T(x) == x;
+ }
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/default_constructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/default_constructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/default_constructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section DefaultConstructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types for which an object can be constructed without initializing the
+object to any particular value.
 
 [heading Definition]
 
@@ -19,7 +20,7 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[DefaultConstructible]]
 [``
-
+auto concept DefaultConstructible<typename T> : Constructible<T> { }
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/equality_comparable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/equality_comparable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/equality_comparable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section EqualityComparable]
 
 [heading Description]
-Describes arithmetic types.
+Describes types whose values can be compared for equality with `operator==`,
+which is an equivalence relation.
 
 [heading Definition]
 
@@ -19,7 +20,25 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[EqualityComparable]]
 [``
+auto concept EqualityComparable<typename T> : HasEqualTo<T, T> {
+ bool operator!=(const T& a, const T& b) { return !(a == b); }
 
+ axiom Consistency(T a, T b) {
+ (a == b) == !(a != b);
+ }
+
+ axiom Reflexivity(T a) { a == a; }
+
+ axiom Symmetry(T a, T b) {
+ if (a == b)
+ b == a;
+ }
+
+ axiom Transitivity(T a, T b, T c) {
+ if (a == b && b == c)
+ a == c;
+ }
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/equivalence_relation.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/equivalence_relation.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/equivalence_relation.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section EquivalenceRelation]
 
 [heading Description]
-Describes arithmetic types.
+Describes an equivalence relation, `F`, on a type `T`.
 
 [heading Definition]
 
@@ -19,7 +19,19 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[EquivalenceRelation]]
 [``
+auto concept EquivalenceRelation<typename F, typename T> : Predicate<F, T, T> {
+ axiom Reflexivity(F f, T a) { f(a, a) == true; }
 
+ axiom Symmetry(F f, T a, T b) {
+ if (f(a, b))
+ f(b, a) == true;
+ }
+
+ axiom Transitivity(F f, T a, T b, T c) {
+ if (f(a, b) && f(b, c))
+ f(a, c) == true;
+ }
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/explicitly_convertible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/explicitly_convertible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/explicitly_convertible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section ExplicitlyConvertible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a conversion (explicit or implicit) from `T` to `U`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[ExplicitlyConvertible]]
 [``
-
+auto concept ExplicitlyConvertible<typename T, typename U> {
+ explicit operator U(const T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/floating_point_like.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/floating_point_like.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/floating_point_like.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section FloatingPointLike]
 
 [heading Description]
-Describes arithmetic types.
+Describes floating-point types.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[FloatingPointLike]]
 [``
+concept FloatingPointLike<typename T> : ArithmeticLike<T> { }
 
+// Requires: for every floating point type T, an empty concept map
+// FloatingPointLike<T> shall be defined in namespace std.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/free_store_allocatable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/free_store_allocatable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/free_store_allocatable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section FreeStoreAllocatable]
 
 [heading Description]
-Describes arithmetic types.
+Describes types for which objects and arrays of objects can be allocated on or
+freed from the free store with `new` and `delete`.
 
 [heading Definition]
 
@@ -19,7 +20,42 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[FreeStoreAllocatable]]
 [``
-
+auto concept FreeStoreAllocatable<typename T> {
+ void* T::operator new(size_t size);
+ void T::operator delete(void*);
+
+ void* T::operator new[](size_t size) {
+ return T::operator new(size);
+ }
+
+ void T::operator delete[](void* ptr) {
+ T::operator delete(ptr);
+ }
+
+ void* T::operator new(size_t size, const nothrow_t&) {
+ try {
+ return T::operator new(size);
+ } catch(...) {
+ return 0;
+ }
+ }
+
+ void* T::operator new[](size_t size, const nothrow_t&) {
+ try {
+ return T::operator new[](size);
+ } catch(...) {
+ return 0;
+ }
+ }
+
+ void T::operator delete(void* ptr, const nothrow_t&) {
+ T::operator delete(ptr);
+ }
+
+ void T::operator delete[](void* ptr, const nothrow_t&) {
+ T::operator delete[](ptr);
+ }
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_address_of.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_address_of.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_address_of.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasAddressOf]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an address-of `operator&`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasAddressOf]]
 [``
-
+auto concept HasAddressOf<typename T> {
+ typename result_type;
+ result_type operator&(T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an assignment operator.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasAssign]]
 [``
-
+auto concept HasAssign<typename T, typename U> {
+ typename result_type;
+ result_type T::operator=(U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasBitAnd]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a binary `operator&`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasBitAnd]]
 [``
-
+auto concept HasBitAnd<typename T, typename U> {
+ typename result_type;
+ result_type operator&(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_and_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasBitAndAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator&=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasBitAndAssign]]
 [``
-
+auto concept HasBitAndAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator&=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasBitOr]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator|`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasBitOr]]
 [``
-
+auto concept HasBitOr<typename T, typename U> {
+ typename result_type;
+ result_type operator|(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_or_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasBitOrAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator|=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasBitOrAssign]]
 [``
-
+auto concept HasBitOrAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator|=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasBitXor]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator^`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasBitXor]]
 [``
-
+auto concept HasBitXor<typename T, typename U> {
+ typename result_type;
+ result_type operator^(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_bit_xor_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasBitXorAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator^=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasBitXorAssign]]
 [``
-
+auto concept HasBitXorAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator^=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_comma.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_comma.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_comma.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasComma]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a comma operator.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasComma]]
 [``
-
+auto concept HasComma<typename T, typename U> {
+ typename result_type
+ result_type operator,(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_complement.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_complement.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_complement.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasComplement]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator~`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasComplement]]
 [``
-
+auto concept HasComplement<typename T> {
+ typename result_type;
+ result_type operator~(const T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_constructor.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_constructor.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_constructor.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasConstructor]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that can be constructed from a given set of arguments.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasConstructor]]
 [``
-
+auto concept HasConstructor<typename T, typename... Args> {
+ T::T(Args...);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_dereference.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_dereference.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_dereference.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasDereference]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a dereferencing `operator*`.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasDereference]]
 [``
-
+auto concept HasDereference<typename T> {
+ typename result_type;
+ result_type operator*(T&);
+ result_type operator*(T&&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_destructor.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_destructor.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_destructor.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section HasDestructor]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that can be destroyed. These are scalar types, references, and
+class types with a public non-deleted destructor.
 
 [heading Definition]
 
@@ -19,7 +20,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasDestructor]]
 [``
-
+auto concept HasDestructor<typename T> {
+ T::~T();
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_divide.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_divide.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_divide.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasDivide]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator/`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasDivide]]
 [``
-
+auto concept HasDivide<typename T, typename U> {
+ typename result_type;
+ result_type operator/(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_divide_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_divide_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_divide_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasDivideAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator/=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasDivideAssign]]
 [``
-
+auto concept HasDivideAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator/=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_equal_to.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_equal_to.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_equal_to.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasEqualTo]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator==`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasEqualTo]]
 [``
-
+auto concept HasEqualTo<typename T, typename U> {
+ bool operator==(const T& a, const U& b);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_greater.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_greater.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_greater.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasGreater]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator>`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasGreater]]
 [``
-
+auto concept HasGreater<typename T, typename U> {
+ bool operator>(const T& a, const U& b);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_greater_equal.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_greater_equal.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_greater_equal.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasGreaterEqual]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator>=`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasGreaterEqual]]
 [``
-
+auto concept HasGreaterEqual<typename T, typename U> {
+ bool operator>=(const T& a, const U& b);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasLeftShift]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator<<`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasLeftShift]]
 [``
-
+auto concept HasLeftShift<typename T, typename U> {
+ typename result_type;
+ result_type operator<<(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_left_shift_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasLeftShiftAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator<<=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasLeftShiftAssign]]
 [``
-
+auto concept HasLeftShiftAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator<<=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_less.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_less.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_less.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasLess]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator<`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasLess]]
 [``
-
+auto concept HasLess<typename T, typename U> {
+ bool operator<(const T& a, const U& b);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_less_equal.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_less_equal.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_less_equal.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasLessEqual]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator<=`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasLessEqual]]
 [``
-
+auto concept HasLessEqual<typename T, typename U> {
+ bool operator<=(const T& a, const U& b);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_and.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_and.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_and.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasLogicalAnd]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a logical conjunction operator.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasLogicalAnd]]
 [``
-
+auto concept HasLogicalAnd<typename T, typename U> {
+ bool operator&&(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_not.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_not.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_not.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasLogicalNot]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a logical negation operator.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasLogicalNot]]
 [``
-
+auto concept HasLogicalNot<typename T> {
+ bool operator!(const T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_or.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_or.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_logical_or.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasLogicalOr]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a logical disjunction operator.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasLogicalOr]]
 [``
-
+auto concept HasLogicalOr<typename T, typename U> {
+ bool operator||(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_minus.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_minus.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_minus.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasMinus]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a binary `operator-`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasMinus]]
 [``
-
+auto concept HasMinus<typename T, typename U> {
+ typename result_type;
+ result_type operator-(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_minus_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_minus_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_minus_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasMinusAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator-=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasMinusAssign]]
 [``
-
+auto concept HasMinusAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator-=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasModulus]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator%`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasModulus]]
 [``
-
+auto concept HasModulus<typename T, typename U> {
+ typename result_type;
+ result_type operator%(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_modulus_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasModulusAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator%=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasModulusAssign]]
 [``
-
+auto concept HasModulusAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator%=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasMultiply]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a binary `operator*`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasMultiply]]
 [``
-
+auto concept HasMultiply<typename T, typename U> {
+ typename result_type;
+ result_type operator*(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_multiply_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasMultiplyAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator*=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasMultiplyAssign]]
 [``
-
+auto concept HasMultiplyAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator*=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_negate.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_negate.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_negate.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasNegate]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a unary `operator-`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasNegate]]
 [``
-
+auto concept HasNegate<typename T> {
+ typename result_type;
+ result_type operator-(const T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_not_equal_to.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_not_equal_to.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_not_equal_to.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasNotEqualTo]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator!=`.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasNotEqualTo]]
 [``
-
+auto concept HasNotEqualTo<typename T, typename U> {
+ bool operator!=(const T& a, const U& b);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_plus.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_plus.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_plus.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasPlus]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a binary `operator+`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasPlus]]
 [``
-
+auto concept HasPlus<typename T, typename U> {
+ typename result_type;
+ result_type operator+(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_plus_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_plus_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_plus_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasPlusAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator+=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasPlusAssign]]
 [``
-
+auto concept HasPlusAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator+=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_postdecrement.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_postdecrement.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_postdecrement.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasPostdecrement]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a post-decrement operator.
 
 [heading Definition]
 
@@ -19,8 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasPostdecrement]]
 [``
-
-``]]
+auto concept HasPostdecrement<typename T> {
+ typename result_type;
+ result_type operator--(T&, int);
+}``]]
 ]
 
 [heading Header]

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_postincrement.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_postincrement.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_postincrement.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasPostincrement]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a post-increment operator.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasPostincrement]]
 [``
-
+auto concept HasPostincrement<typename T> {
+ typename result_type;
+ result_type operator++(T&, int);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_predecrement.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_predecrement.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_predecrement.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasPredecrement]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a pre-decrement operator.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasPredecrement]]
 [``
-
+auto concept HasPredecrement<typename T> {
+ typename result_type;
+ result_type operator--(T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_preincrement.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_preincrement.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_preincrement.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasPreincrement]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a pre-increment operator.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasPreincrement]]
 [``
-
+auto concept HasPreincrement<typename T> {
+ typename result_type;
+ result_type operator++(T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasRightShift]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator>>`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasRightShift]]
 [``
-
+auto concept HasRightShift<typename T, typename U> {
+ typename result_type;
+ result_type operator>>(const T&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift_assign.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift_assign.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_right_shift_assign.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasRightShiftAssign]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with an `operator>>=`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasRightShiftAssign]]
 [``
-
+auto concept HasRightShiftAssign<typename T, typename U> {
+ typename result_type;
+ result_type operator>>=(T&, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_subscript.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_subscript.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_subscript.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasSubscript]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a subscript `operator[]`.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasSubscript]]
 [``
-
+auto concept HasSubscript<typename T, typename U> {
+ typename result_type;
+ result_type operator[](T&, const U&);
+ result_type operator[](T&&, const U&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_swap.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_swap.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_swap.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasSwap]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that have a swap operation.
 
 [heading Definition]
 
@@ -19,7 +19,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasSwap]]
 [``
-
+auto concept HasSwap<typename T, typename U> {
+ void swap(T, U);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_unary_plus.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_unary_plus.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_unary_plus.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasUnaryPlus]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a unary `operator+`.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasUnaryPlus]]
 [``
-
+auto concept HasUnaryPlus<typename T> {
+ typename result_type;
+ result_type operator+(const T&);
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/has_virtual_destructor.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/has_virtual_destructor.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/has_virtual_destructor.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section HasVirtualDestructor]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with a virtual destructor.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[HasVirtualDestructor]]
 [``
+concept HasVirtualDestructor<typename T> : HasDestructor<T>, PolymorphicClass<T> { }
 
+// Requires: for every class type T that has a virtual destructor, a concept map
+// HasVirtualDestructor<T> shall be implicitly defined in namespace std.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/identity_of.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/identity_of.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/identity_of.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section IdentityOf]
 
 [heading Description]
-Describes arithmetic types.
+Concept form of the `identity` type metafunction ([n2914]
+[['identity.operation]]).
 
 [heading Definition]
 
@@ -19,7 +20,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[IdentityOf]]
 [``
-
+auto concept IdentityOf<typename T> {
+ typename type = T;
+ requires SameType<type, T>;
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/integral_like.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/integral_like.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/integral_like.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section IntegralLike]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that provide all of the operations available on integral types.
 
 [heading Definition]
 
@@ -19,7 +19,26 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[IntegralLike]]
 [``
-
+concept IntegralLike<typename T>
+ : ArithmeticLike<T>,
+ HasComplement<T>, HasModulus<T, T>, HasBitAnd<T, T>, HasBitXor<T, T>, HasBitOr<T, T>,
+ HasLeftShift<T, T>, HasRightShift<T, T>,
+ HasModulusAssign<T, const T&>, HasLeftShiftAssign<T, const T&>, HasRightShiftAssign<T, const T&>,
+ HasBitAndAssign<T, const T&>, HasBitXorAssign<T, const T&>, HasBitOrAssign<T, const T&> {
+requires Convertible<HasComplement<T>::result_type, T>
+ && Convertible<HasModulus<T, T>::result_type, T>
+ && Convertible<HasBitAnd<T, T>::result_type, T>
+ && Convertible<HasBitXor<T, T>::result_type, T>
+ && Convertible<HasBitOr<T, T>::result_type, T>
+ && Convertible<HasLeftShift<T, T>::result_type, T>
+ && Convertible<HasRightShift<T, T>::result_type, T>
+ && SameType<HasModulusAssign<T, const T&>::result_type, T&>
+ && SameType<HasLeftShiftAssign<T, const T&>::result_type, T&>
+ && SameType<HasRightShiftAssign<T, const T&>::result_type, T&>
+ && SameType<HasBitAndAssign<T, const T&>::result_type, T&>
+ && SameType<HasBitXorAssign<T, const T&>::result_type, T&>
+ && SameType<HasBitOrAssign<T, const T&>::result_type, T&>;
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/less_than_comparable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/less_than_comparable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/less_than_comparable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section LessThanComparable]
 
 [heading Description]
-Describes arithmetic types.
+Describes types whose values can be ordered, where `operator<` is a strict weak
+ordering relation.
 
 [heading Definition]
 
@@ -19,7 +20,34 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[LessThanComparable]]
 [``
-
+auto concept LessThanComparable<typename T> : HasLess<T, T> {
+ bool operator>(const T& a, const T& b) { return b < a; }
+ bool operator<=(const T& a, const T& b) { return !(b < a); }
+ bool operator>=(const T& a, const T& b) { return !(a < b); }
+
+ axiom Consistency(T a, T b) {
+ (a > b) == (b < a);
+ (a <= b) == !(b < a);
+ (a >= b) == !(a < b);
+ }
+
+ axiom Irreflexivity(T a) { (a < a) == false; }
+
+ axiom Antisymmetry(T a, T b) {
+ if (a < b)
+ (b < a) == false;
+ }
+
+ axiom Transitivity(T a, T b, T c) {
+ if (a < b && b < c)
+ (a < c) == true;
+ }
+
+ axiom TransitivityOfEquivalence(T a, T b, T c) {
+ if (!(a < b) && !(b < a) && !(b < c) && !(c < b))
+ (!(a < c) && !(c < a)) == true;
+ }
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/lvalue_reference.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/lvalue_reference.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/lvalue_reference.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section LvalueReference]
 
 [heading Description]
-Describes arithmetic types.
+Determines whether a given type is an lvalue reference type.
 
 [heading Definition]
 
@@ -19,7 +19,8 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[LvalueReference]]
 [``
-
+concept LvalueReference<typename T> { }
+template <typename T> concept_map LvalueReference<T&> { }
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/move_assignable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/move_assignable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/move_assignable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section MoveAssignable]
 
 [heading Description]
-Describes arithmetic types.
+Describes types with the ability to assign to an object from an rvalue,
+potentially altering the rvalue.
 
 [heading Definition]
 
@@ -19,7 +20,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[MoveAssignable]]
 [``
-
+auto concept MoveAssignable<typename T> : HasAssign<T, T&&> {
+ requires RvalueOf<T> && HasAssign<T, RvalueOf<T>::type>;
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/move_constructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/move_constructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/move_constructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section MoveConstructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that can move-construct an object from a value of the same type,
+possibly altering that value.
 
 [heading Definition]
 
@@ -19,7 +20,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[MoveConstructible]]
 [``
-
+auto concept MoveConstructible<typename T> : Constructible<T, T&&> {
+ requires RvalueOf<T> && Constructible<T, RvalueOf<T>::type>;
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/nothrow_destructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/nothrow_destructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/nothrow_destructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,9 @@
 [section NothrowDestructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that can be destroyed and where destruction will not propagate
+an exception. These are scalar types, references, and class types with a public
+non-deleted destructor that is implictly or explicitly `noexcept`.
 
 [heading Definition]
 
@@ -19,7 +21,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[NothrowDestructible]]
 [``
+auto concept NothrowDestructible<typename T> : HasDestructor<T> { }
 
+// Requires: no exception is propagated.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/predicate.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/predicate.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/predicate.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,10 @@
 [section Predicate]
 
 [heading Description]
-Describes arithmetic types.
+Describes function objects callable with some set of arguments, the result of
+which can be used in a context that requires a `bool`. In addition to the
+specified syntactic requirements, predicate function objects shall not apply any
+non-constant function through the predicate arguments.
 
 [heading Definition]
 
@@ -19,7 +22,9 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[Predicate]]
 [``
-
+auto concept Predicate<typename F, typename... Args> : Callable<F, const Args&...> {
+ requires Convertible<result_type, bool>;
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/regular.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/regular.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/regular.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section Regular]
 
 [heading Description]
-Describes arithmetic types.
+Describes semi-regular types that are default constructible and have equality
+comparison operators.
 
 [heading Definition]
 
@@ -19,7 +20,8 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[Regular]]
 [``
-
+auto concept Regular<typename T>
+ : Semiregular<T>, DefaultConstructible<T>, EqualityComparable<T> { }
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_of.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_of.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_of.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section RvalueOf]
 
 [heading Description]
-Describes arithmetic types.
+Describes the rvalue reference type for an arbitrary type `T`.
 
 [heading Definition]
 
@@ -19,7 +19,14 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[RvalueOf]]
 [``
-
+auto concept RvalueOf<typename T> {
+ typename type = T&&;
+ requires ExplicitlyConvertible<T&, type> && Convertible<T&&, type>;
+}
+
+template<typename T> concept_map RvalueOf<T&> {
+ typedef T&& type;
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_reference.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_reference.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/rvalue_reference.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section RvalueReference]
 
 [heading Description]
-Describes arithmetic types.
+Determines whether a given type is an rvalue reference type.
 
 [heading Definition]
 
@@ -19,7 +19,8 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[RvalueReference]]
 [``
-
+concept RvalueReference<typename T> { }
+template <typename T> concept_map RvalueReference<T&&> { }
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/semiregular.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/semiregular.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/semiregular.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section Semiregular]
 
 [heading Description]
-Describes arithmetic types.
+Collects several common requirements supported by most types.
 
 [heading Definition]
 
@@ -19,7 +19,10 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[Semiregular]]
 [``
-
+auto concept Semiregular<typename T>
+ : CopyConstructible<T>, CopyAssignable<T>, FreeStoreAllocatable<T> {
+ requires SameType<CopyAssignable<T>::result_type, T&>;
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/signed_integral_like.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/signed_integral_like.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/signed_integral_like.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section SignedIntegralLike]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that provide all of the operations available on signed integral
+types.
 
 [heading Definition]
 
@@ -19,7 +20,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[SignedIntegralLike]]
 [``
+concept SignedIntegralLike<typename T> : IntegralLike<T> { }
 
+// Requires: for every signed integral type T, including signed extended
+// integral types, an empty concept map SignedIntegralLike<T> shall be defined
+// in namespace std.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/strict_weak_order.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/strict_weak_order.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/strict_weak_order.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section StrictWeakOrder]
 
 [heading Description]
-Describes arithmetic types.
+Describes a strict weak ordering relation, `F`, on a type `T`.
 
 [heading Definition]
 
@@ -19,7 +19,25 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[StrictWeakOrder]]
 [``
+auto concept StrictWeakOrder<typename F, typename T> : Predicate<F, T, T> {
 
+ axiom Irreflexivity(F f, T a) { f(a, a) == false; }
+
+ axiom Antisymmetry(F f, T a, T b) {
+ if (f(a, b))
+ f(b, a) == false;
+ }
+
+ axiom Transitivity(F f, T a, T b, T c) {
+ if (f(a, b) && f(b, c))
+ f(a, c) == true;
+ }
+
+ axiom TransitivityOfEquivalence(F f, T a, T b, T c) {
+ if (!f(a, b) && !f(b, a) && !f(b, c) && !f(c, b))
+ (!f(a, c) && !f(c, a)) == true;
+ }
+}
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/swappable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/swappable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/swappable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section Swappable]
 
 [heading Description]
-Describes arithmetic types.
+Describes types for which two values of that type can be swapped.
 
 [heading Definition]
 
@@ -19,7 +19,7 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[Swappable]]
 [``
-
+auto concept Swappable<typename T> : HasSwap<T&, T&> { }
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_assignable.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_assignable.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_assignable.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section TriviallyCopyAssignable]
 
 [heading Description]
-Describes arithmetic types.
+Describes types whose copy-assignment operator is equivalent to `memcpy`.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[TriviallyCopyAssignable]]
 [``
+concept TriviallyCopyAssignable<typename T> : CopyAssignable<T> { }
 
+// Requires: for every type T that is a trivial type (ref) or a class type with
+// a trivial copy assignment operator, a concept map TriviallyCopyAssignable<T>
+// shall be implicitly defined in namespace std.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_constructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_constructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/trivially_copy_constructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section TriviallyCopyConstructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types whose copy constructor is equivalent to `memcpy`.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[TriviallyCopyConstructible]]
 [``
+concept TriviallyCopyConstructible<typename T> : CopyConstructible<T> { }
 
+// Requires: for every type T that is a trivial type, a reference, or a class
+// type with a trivial copy constructor, a concept map
+// TriviallyCopyConstructible<T> shall be implicitly defined in namespace std.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/trivially_default_constructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/trivially_default_constructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/trivially_default_constructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,7 @@
 [section TriviallyDefaultConstructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types whose default constructor is trivial.
 
 [heading Definition]
 
@@ -19,7 +19,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[TriviallyDefaultConstructible]]
 [``
+concept TriviallyDefaultConstructible<typename T> : DefaultConstructible<T> { }
 
+// Requires: for every type T that is a trivial type or a class type with a
+// trivial default constructor, a concept map TriviallyDefaultConstructible<T>
+// shall be implicitly defined in namespace std.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/trivially_destructible.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/trivially_destructible.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/trivially_destructible.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section TriviallyDestructible]
 
 [heading Description]
-Describes arithmetic types.
+Describes types whose destructors do not need to be executed when the object is
+destroyed.
 
 [heading Definition]
 
@@ -19,7 +20,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[TriviallyDestructible]]
 [``
+concept TriviallyDestructible<typename T> : NothrowDestructible<T> { }
 
+// Requires: for every type T that is a trivial type, reference, or class type
+// with a trivial destructor, a concept map TriviallyDestructible<T> shall be
+// implicitly defined in namespace std.
 ``]]
 ]
 

Modified: sandbox/generic/libs/doc/standard_concepts/concepts/unsigned_integral_like.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/concepts/unsigned_integral_like.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/concepts/unsigned_integral_like.qbk 2012-10-11 02:22:55 EDT (Thu, 11 Oct 2012)
@@ -9,7 +9,8 @@
 [section UnsignedIntegralLike]
 
 [heading Description]
-Describes arithmetic types.
+Describes types that provide all of the operations available on unsigned
+integral types.
 
 [heading Definition]
 
@@ -19,7 +20,11 @@
     [[Boost.Generic Definition] [N2914 Definition]]
     [[[UnsignedIntegralLike]]
 [``
+concept UnsignedIntegralLike<typename T> : IntegralLike<T> { }
 
+// Requires: for every unsigned integral type T, including unsigned extended
+// integral types, an empty concept map UnsignedIntegralLike<T> shall be defined
+// in namespace std.
 ``]]
 ]
 


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