Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69226 - in sandbox/opaque/libs/opaque: doc doc/html example test test/new_class
From: vicente.botet_at_[hidden]
Date: 2011-02-23 16:58:11


Author: viboes
Date: 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
New Revision: 69226
URL: http://svn.boost.org/trac/boost/changeset/69226

Log:
Opaque: clenup+ Update doc for Bool parameter for opaque types
Binary files modified:
   sandbox/opaque/libs/opaque/doc/opaque.pdf
Text files modified:
   sandbox/opaque/libs/opaque/doc/html/index.html | 199 +++++++++++++++++++++------------------
   sandbox/opaque/libs/opaque/doc/opaque.qbk | 28 +++-
   sandbox/opaque/libs/opaque/example/ex6.cpp | 12 +-
   sandbox/opaque/libs/opaque/test/new_class/equal_fail.cpp | 6
   sandbox/opaque/libs/opaque/test/new_class/greater_than_equal_fail.cpp | 6
   sandbox/opaque/libs/opaque/test/new_class/greater_than_fail.cpp | 6
   sandbox/opaque/libs/opaque/test/new_class/hiding_less_than_fail.cpp | 10 +-
   sandbox/opaque/libs/opaque/test/new_class/hiding_plus_fail.cpp | 8
   sandbox/opaque/libs/opaque/test/new_class/less_than_equal_fail.cpp | 6
   sandbox/opaque/libs/opaque/test/new_class/less_than_fail.cpp | 6
   sandbox/opaque/libs/opaque/test/new_class/minus_assign_fail.cpp | 4
   sandbox/opaque/libs/opaque/test/new_class/multiply_assign_fail.cpp | 4
   sandbox/opaque/libs/opaque/test/new_class/not_equal_fail.cpp | 6
   sandbox/opaque/libs/opaque/test/new_class/plus_assign_fail.cpp | 4
   sandbox/opaque/libs/opaque/test/new_class/regular_pass.cpp | 18 +-
   sandbox/opaque/libs/opaque/test/new_class/using_divide_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_equal_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_greater_than_equal_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_greater_than_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_less_than_equal_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_less_than_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_minus_assign_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_multiply_assign_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_multiply_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_not_equal_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_plus_assign_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_class/using_plus_pass.cpp | 22 ++--
   sandbox/opaque/libs/opaque/test/new_type_test.cpp | 2
   28 files changed, 306 insertions(+), 283 deletions(-)

Modified: sandbox/opaque/libs/opaque/doc/html/index.html
==============================================================================
--- sandbox/opaque/libs/opaque/doc/html/index.html (original)
+++ sandbox/opaque/libs/opaque/doc/html/index.html 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -27,7 +27,7 @@
 </h3></div></div></div>
 <div><p class="copyright">Copyright &#169; 2010 Vicente J. Botet Escriba</p></div>
 <div><div class="legalnotice">
-<a name="id3234686"></a><p>
+<a name="id3067160"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -109,7 +109,7 @@
 <dt><span class="section">Description</span></dt>
 </dl></div>
 <a name="boost.opaque.overview.how_to_use_this_documentation"></a><h4>
-<a name="id3234761"></a>
+<a name="id3067235"></a>
       <a class="link" href="index.html#boost.opaque.overview.how_to_use_this_documentation">How to
       Use This Documentation</a>
     </h4>
@@ -284,7 +284,7 @@
         Boost.Opaque</a>
 </h4></div></div></div>
 <a name="boost.opaque.users_guide.getting_started.install.getting_boost_opaque"></a><h6>
-<a name="id3193724"></a>
+<a name="id3026198"></a>
           <a class="link" href="index.html#boost.opaque.users_guide.getting_started.install.getting_boost_opaque">Getting
           Boost.Opaque</a>
         </h6>
@@ -298,7 +298,7 @@
           Sandbox</a>.
         </p>
 <a name="boost.opaque.users_guide.getting_started.install.building_boost_opaque"></a><h6>
-<a name="id3193780"></a>
+<a name="id3026254"></a>
           <a class="link" href="index.html#boost.opaque.users_guide.getting_started.install.building_boost_opaque">Building
           Boost.Opaque</a>
         </h6>
@@ -308,7 +308,7 @@
           in your compiler include path.
         </p>
 <a name="boost.opaque.users_guide.getting_started.install.requirements"></a><h6>
-<a name="id3193815"></a>
+<a name="id3026288"></a>
           <a class="link" href="index.html#boost.opaque.users_guide.getting_started.install.requirements">Requirements</a>
         </h6>
 <p>
@@ -316,7 +316,7 @@
           (and all libraries it depends on).
         </p>
 <a name="boost.opaque.users_guide.getting_started.install.exceptions_safety"></a><h6>
-<a name="id3244347"></a>
+<a name="id3076821"></a>
           <a class="link" href="index.html#boost.opaque.users_guide.getting_started.install.exceptions_safety">Exceptions
           safety</a>
         </h6>
@@ -325,7 +325,7 @@
           of exception safety as long as the underlying parameters provide it.
         </p>
 <a name="boost.opaque.users_guide.getting_started.install.thread_safety"></a><h6>
-<a name="id3244373"></a>
+<a name="id3076847"></a>
           <a class="link" href="index.html#boost.opaque.users_guide.getting_started.install.thread_safety">Thread
           safety</a>
         </h6>
@@ -333,7 +333,7 @@
           All functions in the library are thread-unsafe except when noted explicitly.
         </p>
 <a name="boost.opaque.users_guide.getting_started.install.tested_compilers"></a><h6>
-<a name="id3244398"></a>
+<a name="id3076871"></a>
           <a class="link" href="index.html#boost.opaque.users_guide.getting_started.install.tested_compilers">Tested
           compilers</a>
         </h6>
@@ -1123,6 +1123,7 @@
     <span class="keyword">template</span> <span class="special">&lt;</span>
         <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">=</span><span class="keyword">bool</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
         <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_new_type</span><span class="special">&gt;</span>
     <span class="keyword">class</span> <span class="identifier">new_type</span><span class="special">;</span>
@@ -1138,21 +1139,22 @@
           <code class="computeroutput"><span class="identifier">new_type</span><span class="special">&lt;&gt;</span></code>
           provides the equivalent of <code class="computeroutput"><span class="identifier">new_class</span><span class="special">&lt;&gt;</span></code> but can be used as a typedef.
         </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Base</span>
-<span class="keyword">class</span> <span class="identifier">new_type</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">new_class</span><span class="special">&lt;</span><span class="identifier">new_type</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;,</span> <span class="identifier">UT</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
- <span class="keyword">explicit</span> <span class="identifier">new_type</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
- <span class="identifier">new_type</span><span class="special">();</span>
- <span class="identifier">new_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">new_type</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">explicit</span> <span class="identifier">new_type</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
-<span class="special">};</span>
+<pre class="programlisting"> <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span>
+<span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Base</span>
+ <span class="keyword">class</span> <span class="identifier">new_type</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">new_class</span><span class="special">&lt;</span><span class="identifier">new_type</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Bool</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;,</span> <span class="identifier">UT</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
+ <span class="keyword">explicit</span> <span class="identifier">new_type</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="identifier">new_type</span><span class="special">();</span>
+ <span class="identifier">new_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">new_type</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">new_type</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="special">};</span>
 </pre>
 <p>
           <span class="bold"><strong>Requirements</strong></span>
@@ -1242,6 +1244,7 @@
     <span class="keyword">template</span> <span class="special">&lt;</span>
         <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">=</span><span class="keyword">bool</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
         <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_private_opaque_type</span>
     <span class="special">&gt;</span>
@@ -1325,7 +1328,7 @@
             <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">push</span><span class="special">&lt;</span>
                 <span class="identifier">transitive_explicit_substituable</span><span class="special">&lt;</span><span class="identifier">base_private_opaque_type</span><span class="special">&gt;,</span>
                 <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">push</span><span class="special">&lt;</span>
- <span class="identifier">inherited_from_underlying</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">&gt;,</span>
+ <span class="identifier">inherited_from_underlying</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span><span class="identifier">Bool</span><span class="special">&gt;,</span>
                     <span class="identifier">MetaMixinSeq</span>
                 <span class="special">&gt;</span>
             <span class="special">&gt;,</span>
@@ -1355,8 +1358,9 @@
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
 <span class="keyword">namespace</span> <span class="identifier">opaque</span> <span class="special">{</span>
     <span class="keyword">template</span> <span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">=</span><span class="keyword">void</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">=</span><span class="keyword">bool</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
         <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_private_opaque_type</span>
     <span class="special">&gt;</span>
@@ -1373,25 +1377,26 @@
           <code class="computeroutput"><span class="identifier">private_opaque_type</span><span class="special">&lt;&gt;</span></code>
           provides the equivalent of <code class="computeroutput"><span class="identifier">private_opaque_class</span><span class="special">&lt;&gt;</span></code> but can be used as a typedef.
         </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Base</span>
-<span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">private_opaque_type</span> <span class="special">:</span> <span class="keyword">public</span>
- <span class="identifier">private_opaque_class</span><span class="special">&lt;</span>
- <span class="identifier">private_opaque_type</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span><span class="identifier">Tag</span><span class="special">,</span><span class="identifier">MetaMixinSeq</span><span class="special">,</span><span class="identifier">Base</span><span class="special">&gt;,</span> <span class="identifier">UT</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
+<pre class="programlisting"> <span class="keyword">template</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">Tag</span><span class="special">,</span>
+<span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Base</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">private_opaque_type</span> <span class="special">:</span> <span class="keyword">public</span>
+ <span class="identifier">private_opaque_class</span><span class="special">&lt;</span>
+ <span class="identifier">private_opaque_type</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span><span class="identifier">Tag</span><span class="special">,</span><span class="identifier">Bool</span><span class="special">,</span><span class="identifier">MetaMixinSeq</span><span class="special">,</span><span class="identifier">Base</span><span class="special">&gt;,</span> <span class="identifier">UT</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
 
- <span class="identifier">private_opaque_type</span><span class="special">();</span>
- <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">private_opaque_class</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Final</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">explicit</span> <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
- <span class="keyword">explicit</span> <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
-<span class="special">};</span>
+ <span class="identifier">private_opaque_type</span><span class="special">();</span>
+ <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">private_opaque_class</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Final</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
+ <span class="keyword">explicit</span> <span class="identifier">private_opaque_type</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="special">};</span>
 </pre>
 <p>
           <span class="bold"><strong>Requirements</strong></span>
@@ -1407,6 +1412,10 @@
               class.
             </li>
 <li class="listitem">
+ <code class="computeroutput"><span class="identifier">Bool</span></code> must be a model
+ of a boolean
+ </li>
+<li class="listitem">
               <code class="computeroutput"><span class="identifier">MetaMixinSeq</span></code> must be
               a model of <code class="computeroutput"><span class="identifier">MetaMixinSeq</span></code>:
               defaulted to the empty sequence.
@@ -1441,6 +1450,7 @@
     <span class="keyword">template</span> <span class="special">&lt;</span>
         <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">=</span><span class="keyword">bool</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
         <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_public_opaque_type</span>
     <span class="special">&gt;</span>
@@ -1513,35 +1523,36 @@
           the substituables. The nested typedef <code class="computeroutput"><span class="identifier">substituables</span></code>
           is the MPL sequence of all the UT in the opaque type hierarchy.
         </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
- <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_public_opaque_type</span>
-<span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">public_opaque_class</span>
- <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">new_class</span><span class="special">&lt;</span> <span class="identifier">Final</span><span class="special">,</span> <span class="identifier">UT</span><span class="special">,</span>
- <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">push</span><span class="special">&lt;</span>
- <span class="identifier">transitive_substituable</span><span class="special">&lt;</span><span class="identifier">base_public_opaque_type</span><span class="special">&gt;,</span>
- <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">push</span><span class="special">&lt;</span>
- <span class="identifier">inherited_from_underlying</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">&gt;,</span>
- <span class="identifier">MetaMixinSeq</span>
- <span class="special">&gt;</span>
- <span class="special">&gt;,</span>
- <span class="identifier">Base</span>
- <span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">substituables</span><span class="special">;</span>
+<pre class="programlisting"> <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
+<span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
+ <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_public_opaque_type</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">public_opaque_class</span>
+ <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">new_class</span><span class="special">&lt;</span> <span class="identifier">Final</span><span class="special">,</span> <span class="identifier">UT</span><span class="special">,</span>
+ <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">push</span><span class="special">&lt;</span>
+ <span class="identifier">transitive_substituable</span><span class="special">&lt;</span><span class="identifier">base_public_opaque_type</span><span class="special">&gt;,</span>
+ <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">push</span><span class="special">&lt;</span>
+ <span class="identifier">inherited_from_underlying</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span><span class="identifier">Bool</span><span class="special">&gt;,</span>
+ <span class="identifier">MetaMixinSeq</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;,</span>
+ <span class="identifier">Base</span>
+ <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="special">&lt;</span><span class="identifier">see</span> <span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">substituables</span><span class="special">;</span>
 
- <span class="identifier">public_opaque_class</span><span class="special">();</span>
- <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">public_opaque_class</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Final</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">explicit</span> <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
- <span class="keyword">explicit</span> <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="identifier">public_opaque_class</span><span class="special">();</span>
+ <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">public_opaque_class</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Final</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
+ <span class="keyword">explicit</span> <span class="identifier">public_opaque_class</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
 
-<span class="special">};</span>
+ <span class="special">};</span>
 </pre>
 </div>
 </div>
@@ -1557,6 +1568,7 @@
     <span class="keyword">template</span> <span class="special">&lt;</span>
         <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">=</span><span class="keyword">bool</span><span class="special">,</span>
         <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">=</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector0</span><span class="special">&lt;&gt;,</span>
         <span class="keyword">typename</span> <span class="identifier">Base</span><span class="special">=</span><span class="identifier">base_public_opaque_type</span>
     <span class="special">&gt;</span>
@@ -1573,25 +1585,26 @@
           <code class="computeroutput"><span class="identifier">public_opaque_type</span><span class="special">&lt;&gt;</span></code>
           provides the equivalent of <code class="computeroutput"><span class="identifier">public_opaque_class</span><span class="special">&lt;&gt;</span></code> but can be used as a typedef.
         </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
- <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Base</span>
-<span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">public_opaque_type</span> <span class="special">:</span> <span class="keyword">public</span>
- <span class="identifier">public_opaque_class</span><span class="special">&lt;</span>
- <span class="identifier">public_opaque_type</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span><span class="identifier">Tag</span><span class="special">,</span><span class="identifier">MetaMixinSeq</span><span class="special">,</span><span class="identifier">Base</span><span class="special">&gt;,</span> <span class="identifier">UT</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
+<pre class="programlisting"> <span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Final</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">UT</span><span class="special">,</span>
+<span class="keyword">typename</span> <span class="identifier">Bool</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Base</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">public_opaque_type</span> <span class="special">:</span> <span class="keyword">public</span>
+ <span class="identifier">public_opaque_class</span><span class="special">&lt;</span>
+ <span class="identifier">public_opaque_type</span><span class="special">&lt;</span><span class="identifier">UT</span><span class="special">,</span><span class="identifier">Tag</span><span class="special">,</span><span class="identifier">Bool</span><span class="special">,</span><span class="identifier">MetaMixinSeq</span><span class="special">,</span><span class="identifier">Base</span><span class="special">&gt;,</span> <span class="identifier">UT</span><span class="special">,</span> <span class="identifier">MetaMixinSeq</span><span class="special">,</span> <span class="identifier">Base</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
 
- <span class="identifier">public_opaque_type</span><span class="special">();</span>
- <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">public_opaque_type</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Final</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">explicit</span> <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
- <span class="keyword">explicit</span> <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
-<span class="special">};</span>
+ <span class="identifier">public_opaque_type</span><span class="special">();</span>
+ <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">public_opaque_type</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Final</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="identifier">UT</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">W</span><span class="special">&gt;</span>
+ <span class="keyword">explicit</span> <span class="identifier">public_opaque_type</span><span class="special">(</span><span class="identifier">W</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="special">};</span>
 </pre>
 <p>
           <span class="bold"><strong>Requirements</strong></span>
@@ -4775,7 +4788,7 @@
       Rationale</a>
 </h3></div></div></div>
 <a name="boost.opaque.appendices.rationale.lala"></a><h5>
-<a name="id3269958"></a>
+<a name="id3102697"></a>
         <a class="link" href="index.html#boost.opaque.appendices.rationale.lala">lala</a>
       </h5>
 </div>
@@ -4785,7 +4798,7 @@
       Notes</a>
 </h3></div></div></div>
 <a name="boost.opaque.appendices.implementation.lala"></a><h5>
-<a name="id3269996"></a>
+<a name="id3102734"></a>
         <a class="link" href="index.html#boost.opaque.appendices.implementation.lala">lala</a>
       </h5>
 </div>
@@ -6177,7 +6190,7 @@
 <a name="boost.opaque.appendices.todo"></a><a class="link" href="index.html#boost.opaque.appendices.todo" title="Appendix F: Future plans">Appendix F: Future plans</a>
 </h3></div></div></div>
 <a name="boost.opaque.appendices.todo.tasks_to_do_before_review"></a><h5>
-<a name="id3273220"></a>
+<a name="id3105959"></a>
         <a class="link" href="index.html#boost.opaque.appendices.todo.tasks_to_do_before_review">Tasks
         to do before review</a>
       </h5>
@@ -6193,7 +6206,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: February 18, 2011 at 22:07:37 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 23, 2011 at 18:58:39 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/opaque/libs/opaque/doc/opaque.pdf
==============================================================================
Binary files. No diff available.

Modified: sandbox/opaque/libs/opaque/doc/opaque.qbk
==============================================================================
--- sandbox/opaque/libs/opaque/doc/opaque.qbk (original)
+++ sandbox/opaque/libs/opaque/doc/opaque.qbk 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -667,6 +667,7 @@
         template <
             typename UT,
             typename Tag,
+ typename Bool=bool,
             typename MetaMixinSeq=boost::mpl::vector0<>,
             typename Base=base_new_type>
         class new_type;
@@ -682,10 +683,11 @@
         template <
             typename UT,
             typename Tag,
+ typename Bool,
             typename MetaMixinSeq,
             typename Base
         class new_type
- : public new_class<new_type<UT, Tag, MetaMixinSeq, Base>, UT, MetaMixinSeq, Base>
+ : public new_class<new_type<UT, Tag, Bool, MetaMixinSeq, Base>, UT, MetaMixinSeq, Base>
         {
         public:
             template <typename W>
@@ -766,6 +768,7 @@
         template <
             typename Final,
             typename UT,
+ typename Bool=bool,
             typename MetaMixinSeq=boost::mpl::vector0<>,
             typename Base=base_private_opaque_type
>
@@ -815,7 +818,7 @@
                 mpl::push<
                     transitive_explicit_substituable<base_private_opaque_type>,
                     mpl::push<
- inherited_from_underlying<UT>,
+ inherited_from_underlying<UT,Bool>,
                         MetaMixinSeq
>
>,
@@ -844,8 +847,9 @@
     namespace boost {
     namespace opaque {
         template <
- typename Final,
- typename UT,
+ typename T,
+ typename Tag=void,
+ typename Bool=bool,
             typename MetaMixinSeq=boost::mpl::vector0<>,
             typename Base=base_private_opaque_type
>
@@ -860,14 +864,15 @@
 `private_opaque_type<>` provides the equivalent of `private_opaque_class<>` but can be used as a typedef.
 
     template <
- typename Final,
- typename UT,
+ typename T,
+ typename Tag,
+ typename Bool,
         typename MetaMixinSeq,
         typename Base
>
     class private_opaque_type : public
         private_opaque_class<
- private_opaque_type<UT,Tag,MetaMixinSeq,Base>, UT, MetaMixinSeq, Base>
+ private_opaque_type<UT,Tag,Bool,MetaMixinSeq,Base>, UT, MetaMixinSeq, Base>
     {
     public:
 
@@ -883,6 +888,7 @@
 
 * `UT` must be a model of a `CopyConstructible` and `Assignable`.
 * `Tag` must be a unique class.
+* `Bool` must be a model of a boolean
 * `MetaMixinSeq` must be a model of `MetaMixinSeq`: defaulted to the empty sequence.
 * `Base` is defaulted to the base class of all the new types `base_new_type`.
 
@@ -904,6 +910,7 @@
         template <
             typename Final,
             typename UT,
+ typename Bool=bool,
             typename MetaMixinSeq=boost::mpl::vector0<>,
             typename Base=base_public_opaque_type
>
@@ -953,6 +960,7 @@
         template <
             typename Final,
             typename UT,
+ typename Bool,
             typename MetaMixinSeq=boost::mpl::vector0<>,
             typename Base=base_public_opaque_type
>
@@ -961,7 +969,7 @@
                 mpl::push<
                     transitive_substituable<base_public_opaque_type>,
                     mpl::push<
- inherited_from_underlying<UT>,
+ inherited_from_underlying<UT,Bool>,
                         MetaMixinSeq
>
>,
@@ -994,6 +1002,7 @@
         template <
             typename Final,
             typename UT,
+ typename Bool=bool,
             typename MetaMixinSeq=boost::mpl::vector0<>,
             typename Base=base_public_opaque_type
>
@@ -1010,12 +1019,13 @@
     template <
         typename Final,
         typename UT,
+ typename Bool,
         typename MetaMixinSeq,
         typename Base
>
     class public_opaque_type : public
         public_opaque_class<
- public_opaque_type<UT,Tag,MetaMixinSeq,Base>, UT, MetaMixinSeq, Base>
+ public_opaque_type<UT,Tag,Bool,MetaMixinSeq,Base>, UT, MetaMixinSeq, Base>
     {
     public:
 

Modified: sandbox/opaque/libs/opaque/example/ex6.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/example/ex6.cpp (original)
+++ sandbox/opaque/libs/opaque/example/ex6.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -19,10 +19,10 @@
 void remove_warning(C) {}
 
 void test() {
- A a;
- B ba = a; // okay: is_subst(A,B)
- C cb = ba; // okay: is_subst(B,C)
- C ca = a; // okay: is_subst(A,C)
- remove_warning(cb);
- remove_warning(ca);
+ A a;
+ B ba = a; // okay: is_subst(A,B)
+ C cb = ba; // okay: is_subst(B,C)
+ C ca = a; // okay: is_subst(A,C)
+ remove_warning(cb);
+ remove_warning(ca);
 }

Modified: sandbox/opaque/libs/opaque/test/new_class/equal_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/equal_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/equal_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -35,9 +35,9 @@
 void remove_warning(bool) {}
 
 void fail() {
- NT1 a1(1), b2(2);
- bool b =(a1 == b2);
- remove_warning(b);
+ NT1 a1(1), b2(2);
+ bool b =(a1 == b2);
+ remove_warning(b);
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/greater_than_equal_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/greater_than_equal_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/greater_than_equal_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -34,9 +34,9 @@
 void remove_warning(bool) {}
 
 void fail() {
- NT1 a1(1), b2(2);
- bool b =(a1 >= b2);
- remove_warning(b);
+ NT1 a1(1), b2(2);
+ bool b =(a1 >= b2);
+ remove_warning(b);
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/greater_than_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/greater_than_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/greater_than_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -34,9 +34,9 @@
 void remove_warning(bool) {}
 
 void fail() {
- NT1 a1(1), b2(2);
- bool b =(a1 > b2);
- remove_warning(b);
+ NT1 a1(1), b2(2);
+ bool b =(a1 > b2);
+ remove_warning(b);
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/hiding_less_than_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/hiding_less_than_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/hiding_less_than_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -20,16 +20,16 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_less_than<>,
- boost::opaque::hiding_less_than<>
+ boost::opaque::using_less_than<>,
+ boost::opaque::hiding_less_than<>
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_less_than<>,
- boost::opaque::hiding_less_than<>
+ boost::opaque::using_less_than<>,
+ boost::opaque::hiding_less_than<>
>
>
     base_type;
@@ -50,6 +50,6 @@
 void fail() {
     NT a1(1), b2(2);
     bool b = (a1 < b2);
- remove_warning(b);
+ remove_warning(b);
 }
 

Modified: sandbox/opaque/libs/opaque/test/new_class/hiding_plus_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/hiding_plus_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/hiding_plus_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -20,16 +20,16 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_plus,
- boost::opaque::hiding_plus
+ boost::opaque::using_plus,
+ boost::opaque::hiding_plus
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_plus,
- boost::opaque::hiding_plus
+ boost::opaque::using_plus,
+ boost::opaque::hiding_plus
>
>
     base_type;

Modified: sandbox/opaque/libs/opaque/test/new_class/less_than_equal_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/less_than_equal_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/less_than_equal_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -36,9 +36,9 @@
 void remove_warning(bool) {}
 
 void fail() {
- NT1 a1(1), b2(2);
- bool b =(a1 <= b2);
- remove_warning(b);
+ NT1 a1(1), b2(2);
+ bool b =(a1 <= b2);
+ remove_warning(b);
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/less_than_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/less_than_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/less_than_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -36,9 +36,9 @@
 void remove_warning(bool) {}
 
 void fail() {
- NT1 a1(1), b2(2);
- bool b=(a1<b2);
- remove_warning(b);
+ NT1 a1(1), b2(2);
+ bool b=(a1<b2);
+ remove_warning(b);
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/minus_assign_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/minus_assign_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/minus_assign_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -33,8 +33,8 @@
 };
 
 void fail() {
- NT1 a1(1), b2(2);
- a1 -= b2;
+ NT1 a1(1), b2(2);
+ a1 -= b2;
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/multiply_assign_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/multiply_assign_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/multiply_assign_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -33,8 +33,8 @@
 };
 
 void fail() {
- NT1 a1(1), b2(2);
- a1 *= b2;
+ NT1 a1(1), b2(2);
+ a1 *= b2;
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/not_equal_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/not_equal_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/not_equal_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -35,9 +35,9 @@
 void remove_warning(bool) {}
 
 void fail() {
- NT1 a1(1), b2(2);
- bool b =(a1 != b2);
- remove_warning(b);
+ NT1 a1(1), b2(2);
+ bool b =(a1 != b2);
+ remove_warning(b);
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/plus_assign_fail.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/plus_assign_fail.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/plus_assign_fail.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -33,8 +33,8 @@
 };
 
 void fail() {
- NT1 a1(1), b2(2);
- a1 += b2;
+ NT1 a1(1), b2(2);
+ a1 += b2;
 }
 
 

Modified: sandbox/opaque/libs/opaque/test/new_class/regular_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/regular_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/regular_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -42,32 +42,32 @@
 }
 
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque::opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_divide_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_divide_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_divide_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_divide
+ boost::opaque::using_divide
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_divide
+ boost::opaque::using_divide
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_equal_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_equal_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_equal_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_equal<>
+ boost::opaque::using_equal<>
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_equal<>
+ boost::opaque::using_equal<>
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_greater_than_equal_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_greater_than_equal_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_greater_than_equal_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_greater_than_equal<>
+ boost::opaque::using_greater_than_equal<>
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_greater_than_equal<>
+ boost::opaque::using_greater_than_equal<>
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_greater_than_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_greater_than_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_greater_than_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_greater_than<>
+ boost::opaque::using_greater_than<>
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_greater_than<>
+ boost::opaque::using_greater_than<>
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_less_than_equal_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_less_than_equal_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_less_than_equal_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_less_than_equal<>
+ boost::opaque::using_less_than_equal<>
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_less_than_equal<>
+ boost::opaque::using_less_than_equal<>
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_less_than_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_less_than_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_less_than_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_less_than<>
+ boost::opaque::using_less_than<>
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_less_than<>
+ boost::opaque::using_less_than<>
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_minus_assign_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_minus_assign_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_minus_assign_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_minus_assign
+ boost::opaque::using_minus_assign
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_minus_assign
+ boost::opaque::using_minus_assign
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_multiply_assign_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_multiply_assign_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_multiply_assign_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_multiply_assign
+ boost::opaque::using_multiply_assign
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_multiply_assign
+ boost::opaque::using_multiply_assign
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_multiply_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_multiply_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_multiply_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_multiply
+ boost::opaque::using_multiply
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_multiply
+ boost::opaque::using_multiply
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_not_equal_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_not_equal_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_not_equal_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_not_equal<>
+ boost::opaque::using_not_equal<>
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_not_equal<>
+ boost::opaque::using_not_equal<>
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_plus_assign_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_plus_assign_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_plus_assign_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_plus_assign
+ boost::opaque::using_plus_assign
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_plus_assign
+ boost::opaque::using_plus_assign
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_class/using_plus_pass.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_class/using_plus_pass.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_class/using_plus_pass.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -22,14 +22,14 @@
 struct NT :
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_plus
+ boost::opaque::using_plus
>
>
 {
     typedef
     boost::opaque::new_class<NT, UT
     , boost::mpl::vector<
- boost::opaque::using_plus
+ boost::opaque::using_plus
>
>
     base_type;
@@ -51,32 +51,32 @@
 }
 #if 0
 void default_constructor_test() {
- NT a;
+ NT a;
 }
 void copy_from_ut_test() {
- UT ut(1);
- NT a(ut);
+ UT ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_from_ut2_test() {
- UT2 ut(1);
- NT a(ut);
+ UT2 ut(1);
+ NT a(ut);
     BOOST_TEST(a.underlying()==ut);
 }
 void copy_constructor_test() {
- NT a(1);
- NT b(a);
+ NT a(1);
+ NT b(a);
     BOOST_TEST(a.underlying()==b.underlying());
 }
 
 void assign_test() {
- NT a1, a2(2);
+ NT a1, a2(2);
     a1=a2; // OK
     BOOST_TEST(a1.underlying()==a2.underlying());
 }
 
 void opaque_static_cast_test() {
- NT a(1);
+ NT a(1);
     UT2 i;
     i=opaque_static_cast<UT2>(a);
     BOOST_TEST(i==a.underlying());

Modified: sandbox/opaque/libs/opaque/test/new_type_test.cpp
==============================================================================
--- sandbox/opaque/libs/opaque/test/new_type_test.cpp (original)
+++ sandbox/opaque/libs/opaque/test/new_type_test.cpp 2011-02-23 16:58:04 EST (Wed, 23 Feb 2011)
@@ -132,6 +132,6 @@
   //~ private_ge_test();
   //~ private_add_test();
   //~ private_substract_test();
-
+
   return boost::report_errors();
 }


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