$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: daniel_james_at_[hidden]
Date: 2008-06-01 14:00:55
Author: danieljames
Date: 2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
New Revision: 46031
URL: http://svn.boost.org/trac/boost/changeset/46031
Log:
Merge test improvements, pdf documentation improvements, some implementation
tweaks.
Merged revisions 45747-46030 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/trunk
................
  r45747 | danieljames | 2008-05-25 18:03:30 +0100 (Sun, 25 May 2008) | 1 line
  
  Remove /branches/unordered/dev from svnmerge tracking.
................
  r45874 | danieljames | 2008-05-28 18:54:53 +0100 (Wed, 28 May 2008) | 1 line
  
  Merge from trunk.
................
  r45881 | danieljames | 2008-05-29 00:10:37 +0100 (Thu, 29 May 2008) | 2 lines
  
  Make it possible to use a custom generator in more places.
................
  r45882 | danieljames | 2008-05-29 00:10:56 +0100 (Thu, 29 May 2008) | 2 lines
  
  Remove several unused parameters.
................
  r45883 | danieljames | 2008-05-29 00:11:06 +0100 (Thu, 29 May 2008) | 2 lines
  
  No need to run move_construct_tests1 from move_construct_tests2, already calling it directly.
................
  r45884 | danieljames | 2008-05-29 00:11:15 +0100 (Thu, 29 May 2008) | 2 lines
  
  Remove unused 'construct' as in trunk.
................
  r45885 | danieljames | 2008-05-29 00:11:25 +0100 (Thu, 29 May 2008) | 2 lines
  
  More consistent implementations of insert_impl.
................
  r45886 | danieljames | 2008-05-29 00:11:34 +0100 (Thu, 29 May 2008) | 2 lines
  
  No need to use the single argument version of methods when the variadic version is available. Frees up the non-variadic version for overloading to emulate variadic methods.
................
  r45887 | danieljames | 2008-05-29 00:11:44 +0100 (Thu, 29 May 2008) | 2 lines
  
  Add another test, mainly to avoid an unused parameter warning.
................
  r45888 | danieljames | 2008-05-29 00:11:54 +0100 (Thu, 29 May 2008) | 2 lines
  
  Adjust the pixels per inch of the buckets diagram so it'll fit on the page.
................
  r45889 | danieljames | 2008-05-29 00:15:49 +0100 (Thu, 29 May 2008) | 1 line
  
  Improve pdf output, thanks to John Maddock.
................
  r45890 | danieljames | 2008-05-29 00:17:45 +0100 (Thu, 29 May 2008) | 1 line
  
  Add an svg version of the bucket diagram.
................
  r45891 | danieljames | 2008-05-29 00:18:11 +0100 (Thu, 29 May 2008) | 1 line
  
  Remove the original dia buckets diagram, I'm not using it anymore.
................
  r46025 | danieljames | 2008-06-01 18:39:51 +0100 (Sun, 01 Jun 2008) | 1 line
  
  Initialise merging from doc.
................
  r46030 | danieljames | 2008-06-01 18:54:36 +0100 (Sun, 01 Jun 2008) | 29 lines
  
  Merge in documentation improvements from the doc branch.
  
  Merged revisions 45892-46020 via svnmerge from 
  https://svn.boost.org/svn/boost/branches/doc
  
  ........
    r45892 | danieljames | 2008-05-29 00:30:07 +0100 (Thu, 29 May 2008) | 1 line
    
    Merge latest changes from unordered.
  ........
    r46017 | danieljames | 2008-06-01 18:18:15 +0100 (Sun, 01 Jun 2008) | 2 lines
    
    Use both PNG and SVG versions of the buckets diagram.
  ........
    r46018 | danieljames | 2008-06-01 18:18:27 +0100 (Sun, 01 Jun 2008) | 2 lines
    
    Improved function summary tables in unordered documenations.
  ........
    r46019 | danieljames | 2008-06-01 18:18:39 +0100 (Sun, 01 Jun 2008) | 3 lines
    
    I'd hacked the bibliography to avoid showing the title twice, but this was
    causing problems when generating PDFs, so show the title twice.
  ........
    r46020 | danieljames | 2008-06-01 18:18:52 +0100 (Sun, 01 Jun 2008) | 3 lines
    
    Don't use the compact boostbook refernce style in the standalone documentation
    as it is too wide for printing out.
  ........
................
Added:
   trunk/libs/unordered/doc/diagrams/buckets.svg
      - copied unchanged from r46030, /branches/unordered/trunk/libs/unordered/doc/diagrams/buckets.svg
Removed:
   trunk/libs/unordered/doc/diagrams/buckets.dia
Properties modified: 
   trunk/   (props changed)
Binary files modified: 
   trunk/libs/unordered/doc/diagrams/buckets.png
Text files modified: 
   trunk/boost/unordered/detail/hash_table_impl.hpp          |    19 +++++---                                
   trunk/libs/unordered/doc/Jamfile.v2                       |    33 +++++++++++++++                         
   trunk/libs/unordered/doc/bibliography.xml                 |     4                                         
   trunk/libs/unordered/doc/buckets.qbk                      |    88 +++++++++++++++++++++++---------------- 
   trunk/libs/unordered/doc/hash_equality.qbk                |     4                                         
   trunk/libs/unordered/doc/unordered.qbk                    |    10 ++++                                    
   trunk/libs/unordered/test/exception/Jamfile.v2            |     2                                         
   trunk/libs/unordered/test/helpers/exception_test.hpp      |     2                                         
   trunk/libs/unordered/test/objects/memory.hpp              |     4                                         
   trunk/libs/unordered/test/unordered/Jamfile.v2            |     2                                         
   trunk/libs/unordered/test/unordered/bucket_tests.cpp      |     4                                         
   trunk/libs/unordered/test/unordered/compile_tests.hpp     |     2                                         
   trunk/libs/unordered/test/unordered/constructor_tests.cpp |     4                                         
   trunk/libs/unordered/test/unordered/copy_tests.cpp        |     8 +-                                      
   trunk/libs/unordered/test/unordered/load_factor_tests.cpp |     4                                         
   trunk/libs/unordered/test/unordered/move_tests.cpp        |    18 +++----                                 
   trunk/libs/unordered/test/unordered/rehash_tests.cpp      |     4                                         
   trunk/libs/unordered/test/unordered/swap_tests.cpp        |    18 ++++----                                
   18 files changed, 146 insertions(+), 84 deletions(-)
Modified: trunk/boost/unordered/detail/hash_table_impl.hpp
==============================================================================
--- trunk/boost/unordered/detail/hash_table_impl.hpp	(original)
+++ trunk/boost/unordered/detail/hash_table_impl.hpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -1648,6 +1648,7 @@
 
 #if BOOST_UNORDERED_EQUIVALENT_KEYS
 
+#if !(defined(BOOST_HAS_RVALUE_REFS) && defined(BOOST_HAS_VARIADIC_TMPL))
             // Insert (equivalent key containers)
 
             // if hash function throws, basic exception safety
@@ -1676,7 +1677,8 @@
                 return insert_hint_impl(it, a);
             }
 
-#if defined(BOOST_HAS_RVALUE_REFS) && defined(BOOST_HAS_VARIADIC_TMPL)
+#else
+
             // Insert (equivalent key containers)
             // (I'm using an overloaded insert for both 'insert' and 'emplace')
 
@@ -1850,6 +1852,8 @@
                 }
             }
 
+#if !(defined(BOOST_HAS_RVALUE_REFS) && defined(BOOST_HAS_VARIADIC_TMPL))
+
             // Insert (unique keys)
 
             // if hash function throws, basic exception safety
@@ -1902,7 +1906,8 @@
                     return insert(v).first;
             }
 
-#if defined(BOOST_HAS_RVALUE_REFS) && defined(BOOST_HAS_VARIADIC_TMPL)
+#else
+
             // Insert (unique keys)
             // (I'm using an overloaded insert for both 'insert' and 'emplace')
             //
@@ -1949,10 +1954,8 @@
 
                     // Nothing after this point can throw.
 
-                    link_ptr n = data_.link_node_in_bucket(a, bucket);
-
-                    return std::pair<iterator_base, bool>(
-                        iterator_base(bucket, n), true);
+                    return std::pair<iterator_base, bool>(iterator_base(bucket,
+                        data_.link_node_in_bucket(a, bucket)), true);
                 }
             }
 
@@ -1993,7 +1996,7 @@
             // if hash function throws, basic exception safety
             // strong otherwise
             template<typename... Args>
-            iterator_base insert_hint(iterator_base const& it, Args&&... args)
+            iterator_base insert_hint(iterator_base const&, Args&&... args)
             {
                 // Life is complicated - just call the normal implementation.
                 return insert(std::forward<Args>(args)...).first;
@@ -2148,7 +2151,7 @@
                 return it1 == end1 && it2 == end2;
             }
 #else
-            static inline bool group_equals(link_ptr it1, link_ptr it2,
+            static inline bool group_equals(link_ptr, link_ptr,
                     type_wrapper<key_type>*)
             {
                 return true;
Modified: trunk/libs/unordered/doc/Jamfile.v2
==============================================================================
--- trunk/libs/unordered/doc/Jamfile.v2	(original)
+++ trunk/libs/unordered/doc/Jamfile.v2	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -3,6 +3,9 @@
 # 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)
 
+path-constant images_location : ../ ;
+path-constant admonishment_location : ../../../../doc/src/images ;
+
 xml unordered : unordered.qbk ;
 boostbook standalone : unordered :
     <xsl:param>admon.graphics.path=images/
@@ -16,8 +19,38 @@
     <xsl:param>toc.section.depth=1
     <xsl:param>toc.max.depth=1
 
+    <xsl:param>boost.compact.typedef=0
+    <xsl:param>boost.compact.function=0
+    <xsl:param>boost.compact.enum=0
+
     <dependency>css
     <dependency>images
+
+    # PDF Options:
+    # TOC Generation: this is needed for FOP-0.9 and later:
+    <xsl:param>fop1.extensions=0
+    <format>pdf:<xsl:param>xep.extensions=1
+    # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+    <format>pdf:<xsl:param>fop.extensions=0
+    # No indent on body text:
+    <format>pdf:<xsl:param>body.start.indent=0pt
+    # Margin size:
+    <format>pdf:<xsl:param>page.margin.inner=0.5in
+    # Margin size:
+    <format>pdf:<xsl:param>page.margin.outer=0.5in
+    # Paper type = A4
+    <format>pdf:<xsl:param>paper.type=A4
+    # Yes, we want graphics for admonishments:
+    <xsl:param>admon.graphics=1
+    # Set this one for PDF generation *only*:
+    # default png graphics are awful in PDF form,
+    # better use SVG's instead:
+    <format>pdf:<xsl:param>admon.graphics.extension=".svg"
+    <format>pdf:<xsl:param>use.role.for.mediaobject=1
+    <format>pdf:<xsl:param>preferred.mediaobject.role=print
+    <format>pdf:<xsl:param>img.src.path=$(images_location)/
+    #<format>pdf:<xsl:param>admon.graphics.path=$(admonishment_location)
+    <format>pdf:<xsl:param>draft.mode="no"
     ;
 
 install css : [ glob $(BOOST_ROOT)/doc/src/*.css ]
Modified: trunk/libs/unordered/doc/bibliography.xml
==============================================================================
--- trunk/libs/unordered/doc/bibliography.xml	(original)
+++ trunk/libs/unordered/doc/bibliography.xml	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -1,6 +1,6 @@
-<section id="unordered.bibliography" label="Bibliography">
+<section id="unordered.bibliography">
+<title>Bibliography</title>
 <bibliography>
-  <title>Bibliography</title>
   <biblioentry>
     <biblioset relation="journal">
       <title>C/C++ Users Journal</title>
Modified: trunk/libs/unordered/doc/buckets.qbk
==============================================================================
--- trunk/libs/unordered/doc/buckets.qbk	(original)
+++ trunk/libs/unordered/doc/buckets.qbk	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -10,7 +10,7 @@
 `B`, `C`, `D` and `E` (this is just for illustration, containers will typically
 have more buckets).
 
-[$../../libs/unordered/doc/diagrams/buckets.png]
+[diagram buckets]
 
 In order to decide which bucket to place an element in, the container applies
 the hash function, `Hash`, to the element's key (for `unordered_set` and
@@ -35,37 +35,53 @@
 the search slower. This is known as a collision. To keep things fast we try to
 keep collisions to a minimum.
 
-[table Methods for Accessing Buckets
-    [[Method] [Description]]
-
-    [
-        [``size_type bucket_count() const``]
-        [The number of buckets.]
-    ]
-    [
-        [``size_type max_bucket_count() const``]
-        [An upper bound on the number of buckets.]
-    ]
-    [
-        [``size_type bucket_size(size_type n) const``]
-        [The number of elements in bucket `n`.]
-    ]
-    [
-        [``size_type bucket(key_type const& k) const``]
-        [Returns the index of the bucket which would contain k]
-    ]
-    [
-        [``
-            local_iterator begin(size_type n);
-            local_iterator end(size_type n);
-            const_local_iterator begin(size_type n) const;
-            const_local_iterator end(size_type n) const;
-            const_local_iterator cbegin(size_type n) const;
-            const_local_iterator cend(size_type n) const;
-        ``]
-        [Return begin and end iterators for bucket `n`.]
-    ]
-]
+'''
+<table frame="all"><title>Methods for Accessing Buckets</title>
+  <tgroup cols="2">
+    <thead><row>
+      <entry><para>Method</para></entry>
+      <entry><para>Description</para></entry>
+    </row></thead>
+    <tbody>
+      <row>
+       <entry>'''`size_type bucket_count() const`'''</entry>
+       <entry>'''The number of buckets.'''</entry>
+      </row>
+      <row>
+        <entry>'''`size_type max_bucket_count() const`'''</entry>
+        <entry>'''An upper bound on the number of buckets.'''</entry>
+      </row>
+      <row>
+        <entry>'''`size_type bucket_size(size_type n) const`'''</entry>
+        <entry>'''The number of elements in bucket `n`.'''</entry>
+      </row>
+      <row>
+        <entry>'''`size_type bucket(key_type const& k) const`'''</entry>
+        <entry>'''Returns the index of the bucket which would contain k'''</entry>
+      </row>
+      <row>
+        <entry>'''`local_iterator begin(size_type n);`'''</entry>
+        <entry morerows='5'>'''Return begin and end iterators for bucket `n`.'''</entry>
+      </row>
+      <row>
+        <entry>'''`local_iterator end(size_type n);`'''</entry>
+      </row>
+      <row>
+        <entry>'''`const_local_iterator begin(size_type n) const;`'''</entry>
+      </row>
+      <row>
+        <entry>'''`const_local_iterator end(size_type n) const;`'''</entry>
+      </row>
+      <row>
+        <entry>'''`const_local_iterator cbegin(size_type n) const;`'''</entry>
+      </row>
+      <row>
+        <entry>'''`const_local_iterator cend(size_type n) const;`'''</entry>
+      </row>
+    </tbody>
+  </tgroup>
+</table>
+'''
 
 [h2 Controlling the number of buckets]
 
@@ -100,19 +116,19 @@
     [[Method] [Description]]
 
     [
-        [``float load_factor() const``]
+        [`float load_factor() const`]
         [The average number of elements per bucket.]
     ]
     [
-        [``float max_load_factor() const``]
+        [`float max_load_factor() const`]
         [Returns the current maximum load factor.]
     ]
     [
-        [``float max_load_factor(float z)``]
+        [`float max_load_factor(float z)`]
         [Changes the container's maximum load factor, using `z` as a hint.]
     ]
     [
-        [``void rehash(size_type n)``]
+        [`void rehash(size_type n)`]
         [Changes the number of buckets so that there at least n buckets, and
         so that the load factor is less than the maximum load factor.]
     ]
Deleted: trunk/libs/unordered/doc/diagrams/buckets.dia
==============================================================================
Binary file. No diff available.
Modified: trunk/libs/unordered/doc/diagrams/buckets.png
==============================================================================
Binary files. No diff available.
Modified: trunk/libs/unordered/doc/hash_equality.qbk
==============================================================================
--- trunk/libs/unordered/doc/hash_equality.qbk	(original)
+++ trunk/libs/unordered/doc/hash_equality.qbk	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -63,11 +63,11 @@
     [[Method] [Description]]
 
     [
-        [``hasher hash_function() const``]
+        [`hasher hash_function() const`]
         [Returns the container's hash function.]
     ]
     [
-        [``key_equal key_eq() const``]
+        [`key_equal key_eq() const`]
         [Returns the container's key equality function.]
     ]
 ]
Modified: trunk/libs/unordered/doc/unordered.qbk
==============================================================================
--- trunk/libs/unordered/doc/unordered.qbk	(original)
+++ trunk/libs/unordered/doc/unordered.qbk	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -17,6 +17,16 @@
     ]
 ]
 
+[template diagram[name]  '''<inlinemediaobject>
+<imageobject role="html">
+<imagedata align = "center" fileref="../../libs/unordered/doc/diagrams/'''[name]'''.png"></imagedata>
+</imageobject>
+<imageobject role="print">
+<imagedata align = "center" fileref="../../libs/unordered/doc/diagrams/'''[name]'''.svg"></imagedata>
+</imageobject>
+</inlinemediaobject>''']
+
+
 [include:unordered intro.qbk]
 [include:unordered buckets.qbk]
 [include:unordered hash_equality.qbk]
Modified: trunk/libs/unordered/test/exception/Jamfile.v2
==============================================================================
--- trunk/libs/unordered/test/exception/Jamfile.v2	(original)
+++ trunk/libs/unordered/test/exception/Jamfile.v2	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -11,7 +11,7 @@
 project unordered-test/exception-tests
     : requirements
         <toolset>intel-linux:"<cxxflags>-strict_ansi -cxxlib-icc"
-        <toolset>gcc:<cxxflags>-Wsign-promo
+        <toolset>gcc:<cxxflags>"-Wsign-promo -Wunused-parameter"
     ;
 
 test-suite unordered-exception
Modified: trunk/libs/unordered/test/helpers/exception_test.hpp
==============================================================================
--- trunk/libs/unordered/test/helpers/exception_test.hpp	(original)
+++ trunk/libs/unordered/test/helpers/exception_test.hpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -210,7 +210,7 @@
         }
 
         template <class Test>
-        void exception_safety(Test const& f, char const* name) {
+        void exception_safety(Test const& f, char const* /*name*/) {
             test_runner<Test> runner(f);
 
             iteration = 0;
Modified: trunk/libs/unordered/test/objects/memory.hpp
==============================================================================
--- trunk/libs/unordered/test/objects/memory.hpp	(original)
+++ trunk/libs/unordered/test/objects/memory.hpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -153,12 +153,12 @@
                 if(count_allocations > 0) --count_allocations;
             }
 
-            void track_construct(void* ptr, std::size_t /*size*/, int tag)
+            void track_construct(void* /*ptr*/, std::size_t /*size*/, int /*tag*/)
             {
                 ++count_constructions;
             }
 
-            void track_destroy(void* ptr, std::size_t /*size*/, int tag)
+            void track_destroy(void* /*ptr*/, std::size_t /*size*/, int /*tag*/)
             {
                 BOOST_CHECK(count_constructions > 0);
                 if(count_constructions > 0) --count_constructions;
Modified: trunk/libs/unordered/test/unordered/Jamfile.v2
==============================================================================
--- trunk/libs/unordered/test/unordered/Jamfile.v2	(original)
+++ trunk/libs/unordered/test/unordered/Jamfile.v2	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -8,7 +8,7 @@
 project unordered-test/unordered
     : requirements
         <toolset>intel-linux:"<cxxflags>-strict_ansi -cxxlib-icc"
-        <toolset>gcc:<cxxflags>-Wsign-promo
+        <toolset>gcc:<cxxflags>"-Wsign-promo -Wunused-parameter"
         #<toolset>msvc:<cxxflags>/W4
     ;
 
Modified: trunk/libs/unordered/test/unordered/bucket_tests.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/bucket_tests.cpp	(original)
+++ trunk/libs/unordered/test/unordered/bucket_tests.cpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -16,11 +16,11 @@
 test::seed_t seed(54635);
 
 template <class X>
-void tests(X* = 0)
+void tests(X* = 0, test::random_generator generator = test::default_generator)
 {
     typedef BOOST_DEDUCED_TYPENAME X::size_type size_type;
     typedef BOOST_DEDUCED_TYPENAME X::const_local_iterator const_local_iterator;
-    test::random_values<X> v(1000);
+    test::random_values<X> v(1000, generator);
 
     X x(v.begin(), v.end());
 
Modified: trunk/libs/unordered/test/unordered/compile_tests.hpp
==============================================================================
--- trunk/libs/unordered/test/unordered/compile_tests.hpp	(original)
+++ trunk/libs/unordered/test/unordered/compile_tests.hpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -149,6 +149,8 @@
     typedef BOOST_DEDUCED_TYPENAME X::key_type key_type;
     BOOST_MPL_ASSERT((boost::is_same<value_type, std::pair<key_type const, T> >));
 
+    r.insert(std::pair<Key const, T>(k, v));
+
 #if defined(BOOST_HAS_RVALUE_REFS) && defined(BOOST_HAS_VARIADIC_TMPL)
     Key k_lvalue(k);
     T v_lvalue(v);
Modified: trunk/libs/unordered/test/unordered/constructor_tests.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/constructor_tests.cpp	(original)
+++ trunk/libs/unordered/test/unordered/constructor_tests.cpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -253,12 +253,12 @@
 }
 
 template <class T>
-void map_constructor_test(T* = 0)
+void map_constructor_test(T* = 0, test::random_generator const& generator = test::default_generator)
 {
     std::cerr<<"map_constructor_test\n";
 
     typedef test::list<std::pair<BOOST_DEDUCED_TYPENAME T::key_type, BOOST_DEDUCED_TYPENAME T::mapped_type> > list;
-    test::random_values<T> v(1000);
+    test::random_values<T> v(1000, generator);
     list l(v.begin(), v.end());
     T x(l.begin(), l.end());
 
Modified: trunk/libs/unordered/test/unordered/copy_tests.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/copy_tests.cpp	(original)
+++ trunk/libs/unordered/test/unordered/copy_tests.cpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -36,7 +36,7 @@
     }
 
     {
-        test::random_values<T> v(1000);
+        test::random_values<T> v(1000, generator);
 
         T x(v.begin(), v.end());
         T y(x);
@@ -50,7 +50,7 @@
         // is much lower than the load factor. The hash table is not allowed
         // to rehash, but the destination container should probably allocate
         // enough buckets to decrease the load factor appropriately.
-        test::random_values<T> v(1000);
+        test::random_values<T> v(1000, generator);
         T x(v.begin(), v.end());
         x.max_load_factor(x.load_factor() / 4);
         T y(x);
@@ -95,7 +95,7 @@
     }
 
     {
-        test::random_values<T> v(1000);
+        test::random_values<T> v(1000, generator);
 
         T x(v.begin(), v.end(), 0, hf, eq, al);
         T y(x);
@@ -106,7 +106,7 @@
     }
 
     {
-        test::random_values<T> v(500);
+        test::random_values<T> v(500, generator);
 
         T x(v.begin(), v.end(), 0, hf, eq, al);
         T y(x, al2);
Modified: trunk/libs/unordered/test/unordered/load_factor_tests.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/load_factor_tests.cpp	(original)
+++ trunk/libs/unordered/test/unordered/load_factor_tests.cpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -34,13 +34,13 @@
 }
 
 template <class X>
-void insert_test(X*, float mlf)
+void insert_test(X*, float mlf, test::random_generator generator = test::default_generator)
 {
     X x;
     x.max_load_factor(mlf);
     float b = x.max_load_factor();
 
-    test::random_values<X> values(1000);
+    test::random_values<X> values(1000, generator);
 
     for(BOOST_DEDUCED_TYPENAME test::random_values<X>::const_iterator
             it = values.begin(), end = values.end(); it != end; ++it)
Modified: trunk/libs/unordered/test/unordered/move_tests.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/move_tests.cpp	(original)
+++ trunk/libs/unordered/test/unordered/move_tests.cpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -17,7 +17,7 @@
     test::seed_t seed(98624);
 
     template<class T>
-    T empty(T* ptr) {
+    T empty(T*) {
         return T();
     }
 
@@ -61,7 +61,7 @@
         }
 
         {
-            test::random_values<T> v(1000);
+            test::random_values<T> v(1000, generator);
             test::object_count count;
             T y(create(v, count));
             BOOST_CHECK(count == test::global_object_count);
@@ -71,10 +71,10 @@
     }
 
     template <class T>
-    void move_assign_tests1(T* ptr, test::random_generator const& generator = test::default_generator)
+    void move_assign_tests1(T*, test::random_generator const& generator = test::default_generator)
     {
         {
-            test::random_values<T> v(500);
+            test::random_values<T> v(500, generator);
             test::object_count count;
             T y;
             y = create(v, count);
@@ -85,11 +85,9 @@
     }
 
     template <class T>
-    void move_construct_tests2(T* ptr,
+    void move_construct_tests2(T*,
             test::random_generator const& generator = test::default_generator)
     {
-        move_construct_tests1(ptr);
-
         BOOST_DEDUCED_TYPENAME T::hasher hf(1);
         BOOST_DEDUCED_TYPENAME T::key_equal eq(1);
         BOOST_DEDUCED_TYPENAME T::allocator_type al(1);
@@ -98,7 +96,7 @@
         test::object_count count;
 
         {
-            test::random_values<T> v(500);
+            test::random_values<T> v(500, generator);
             T y(create(v, count, hf, eq, al, 0.5));
             BOOST_CHECK(count == test::global_object_count);
             test::check_container(y, v);
@@ -111,7 +109,7 @@
 
         {
             // TODO: To do this correctly requires the fancy new allocator stuff.
-            test::random_values<T> v(500);
+            test::random_values<T> v(500, generator);
             T y(create(v, count, hf, eq, al, 2.0), al2);
             BOOST_CHECK(count != test::global_object_count);
             test::check_container(y, v);
@@ -123,7 +121,7 @@
         }
 
         {
-            test::random_values<T> v(25);
+            test::random_values<T> v(25, generator);
             T y(create(v, count, hf, eq, al, 1.0), al);
 #if defined(BOOST_HAS_RVALUE_REFS)
             BOOST_CHECK(count == test::global_object_count);
Modified: trunk/libs/unordered/test/unordered/rehash_tests.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/rehash_tests.cpp	(original)
+++ trunk/libs/unordered/test/unordered/rehash_tests.cpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -33,9 +33,9 @@
 }
 
 template <class X>
-void rehash_test1(X* = 0)
+void rehash_test1(X* = 0, test::random_generator generator = test::default_generator)
 {
-    test::random_values<X> v(1000);
+    test::random_values<X> v(1000, generator);
     test::ordered<X> tracker;
     tracker.insert_range(v.begin(), v.end());
     X x(v.begin(), v.end());
Modified: trunk/libs/unordered/test/unordered/swap_tests.cpp
==============================================================================
--- trunk/libs/unordered/test/unordered/swap_tests.cpp	(original)
+++ trunk/libs/unordered/test/unordered/swap_tests.cpp	2008-06-01 14:00:53 EDT (Sun, 01 Jun 2008)
@@ -32,7 +32,7 @@
 }
 
 template <class X>
-void swap_tests1(X* = 0)
+void swap_tests1(X*, test::random_generator generator = test::default_generator)
 {
     {
         X x;
@@ -45,14 +45,14 @@
     }
 
     {
-        test::random_values<X> v(1000);
+        test::random_values<X> v(1000, generator);
         X x, y(v.begin(), v.end());
         swap_test_impl(x, y);
         swap_test_impl(x, y);
     }
 
     {
-        test::random_values<X> vx(1000), vy(1000);
+        test::random_values<X> vx(1000, generator), vy(1000, generator);
         X x(vx.begin(), vx.end()), y(vy.begin(), vy.end());
         swap_test_impl(x, y);
         swap_test_impl(x, y);
@@ -60,7 +60,7 @@
 }
 
 template <class X>
-void swap_tests2(X* ptr = 0)
+void swap_tests2(X* ptr = 0, test::random_generator generator = test::default_generator)
 {
     swap_tests1(ptr);
 
@@ -75,14 +75,14 @@
     }
 
     {
-        test::random_values<X> v(1000);
+        test::random_values<X> v(1000, generator);
         X x(v.begin(), v.end(), 0, hasher(1), key_equal(1));
         X y(0, hasher(2), key_equal(2));
         swap_test_impl(x, y);
     }
 
     {
-        test::random_values<X> vx(100), vy(50);
+        test::random_values<X> vx(100, generator), vy(50, generator);
         X x(vx.begin(), vx.end(), 0, hasher(1), key_equal(1));
         X y(vy.begin(), vy.end(), 0, hasher(2), key_equal(2));
         swap_test_impl(x, y);
@@ -91,7 +91,7 @@
 
 #if BOOST_UNORDERED_SWAP_METHOD == 1
     {
-        test::random_values<X> vx(100), vy(50);
+        test::random_values<X> vx(100, generator), vy(50, generator);
         X x(vx.begin(), vx.end(), 0, hasher(), key_equal(), allocator_type(1));
         X y(vy.begin(), vy.end(), 0, hasher(), key_equal(), allocator_type(2));
         try {
@@ -101,14 +101,14 @@
     }
 #else
     {
-        test::random_values<X> vx(50), vy(100);
+        test::random_values<X> vx(50, generator), vy(100, generator);
         X x(vx.begin(), vx.end(), 0, hasher(), key_equal(), allocator_type(1));
         X y(vy.begin(), vy.end(), 0, hasher(), key_equal(), allocator_type(2));
         swap_test_impl(x, y);
     }
 
     {
-        test::random_values<X> vx(100), vy(100);
+        test::random_values<X> vx(100, generator), vy(100, generator);
         X x(vx.begin(), vx.end(), 0, hasher(1), key_equal(1), allocator_type(1));
         X y(vy.begin(), vy.end(), 0, hasher(2), key_equal(2), allocator_type(2));
         swap_test_impl(x, y);