$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r52035 - in branches/release/libs/intrusive: doc example proj/vc7ide proj/vc7ide/any_test proj/vc7ide/custom_bucket_traits proj/vc7ide/default_hook proj/vc7ide/external_value_traits proj/vc7ide/list proj/vc7ide/make_functions proj/vc7ide/stateful_value_traits proj/vc7ide/virtual_base test
From: igaztanaga_at_[hidden]
Date: 2009-03-28 10:41:40
Author: igaztanaga
Date: 2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
New Revision: 52035
URL: http://svn.boost.org/trac/boost/changeset/52035
Log:
Changes for Boost.1.39
Text files modified: 
   branches/release/libs/intrusive/doc/intrusive.qbk                                              |    18 +++++++++++++++++-                      
   branches/release/libs/intrusive/example/doc_any_hook.cpp                                       |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/any_test/any_test.vcproj                           |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/custom_bucket_traits/custom_bucket_traits.vcproj   |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/default_hook/default_hook.vcproj                   |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/external_value_traits/external_value_traits.vcproj |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/list/list.vcproj                                   |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/make_functions/make_functions.vcproj               |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/stateful_value_traits/stateful_value_traits.vcproj |     2 +-                                      
   branches/release/libs/intrusive/proj/vc7ide/to-do.txt                                          |     2 ++                                      
   branches/release/libs/intrusive/proj/vc7ide/virtual_base/virtual_base.vcproj                   |     2 +-                                      
   branches/release/libs/intrusive/test/slist_test.cpp                                            |    22 ++++++++++++++++++++++                  
   branches/release/libs/intrusive/test/unordered_multiset_test.cpp                               |     9 ++++-----                               
   branches/release/libs/intrusive/test/unordered_set_test.cpp                                    |     2 +-                                      
   14 files changed, 55 insertions(+), 16 deletions(-)
Modified: branches/release/libs/intrusive/doc/intrusive.qbk
==============================================================================
--- branches/release/libs/intrusive/doc/intrusive.qbk	(original)
+++ branches/release/libs/intrusive/doc/intrusive.qbk	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -1280,7 +1280,9 @@
    provides a bucket length that is not power of two.
    Default: `power_2_buckets<false>`.
 
-*  [*`cache_begin<bool Enabled>`]: Due to its internal structure, finding the first
+*  [*`cache_begin<bool Enabled>`]:
+   [*Note: this option is not compatible with `auto_unlink` hooks].
+   Due to its internal structure, finding the first
    element of an unordered container (`begin()` operation) is
    amortized constant-time. It's possible to speed up `begin()` and other operations
    related to it (like `clear()`) if the container caches internally the position
@@ -3701,6 +3703,20 @@
 
 [section:release_notes Release Notes]
 
+[section:release_notes_boost_1_39_00 Boost 1.39 Release]
+
+*  Optimized `list::merge` and `slist::merge`
+*  `list::sort` and `slist::sort` are now stable.
+*  Fixed bugs
+  [@https://svn.boost.org/trac/boost/ticket/2689 #2689],
+  [@https://svn.boost.org/trac/boost/ticket/2755 #2755],
+  [@https://svn.boost.org/trac/boost/ticket/2786 #2786],
+  [@https://svn.boost.org/trac/boost/ticket/2807 #2807],
+  [@https://svn.boost.org/trac/boost/ticket/2810 #2810],
+  [@https://svn.boost.org/trac/boost/ticket/2862 #2862].
+
+[endsect]
+
 [section:release_notes_boost_1_38_00 Boost 1.38 Release]
 
 *  New treap-based containers: treap, treap_set, treap_multiset.
Modified: branches/release/libs/intrusive/example/doc_any_hook.cpp
==============================================================================
--- branches/release/libs/intrusive/example/doc_any_hook.cpp	(original)
+++ branches/release/libs/intrusive/example/doc_any_hook.cpp	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -34,7 +34,7 @@
    typedef any_to_slist_hook < base_hook< any_base_hook<> > >     BaseSlistOption;
    typedef slist<MyClass, BaseSlistOption>                        BaseSList;
 
-   //Define a member hook option that converts any_base_hook to a list hook
+   //Define a member hook option that converts any_member_hook to a list hook
    typedef any_to_list_hook< member_hook
          < MyClass, any_member_hook<>, &MyClass::member_hook_> >  MemberListOption;
    typedef list<MyClass, MemberListOption>                        MemberList;
Modified: branches/release/libs/intrusive/proj/vc7ide/any_test/any_test.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/any_test/any_test.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/any_test/any_test.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/proj/vc7ide/custom_bucket_traits/custom_bucket_traits.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/custom_bucket_traits/custom_bucket_traits.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/custom_bucket_traits/custom_bucket_traits.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/proj/vc7ide/default_hook/default_hook.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/default_hook/default_hook.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/default_hook/default_hook.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/proj/vc7ide/external_value_traits/external_value_traits.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/external_value_traits/external_value_traits.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/external_value_traits/external_value_traits.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/proj/vc7ide/list/list.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/list/list.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/list/list.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/proj/vc7ide/make_functions/make_functions.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/make_functions/make_functions.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/make_functions/make_functions.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/proj/vc7ide/stateful_value_traits/stateful_value_traits.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/stateful_value_traits/stateful_value_traits.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/stateful_value_traits/stateful_value_traits.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/proj/vc7ide/to-do.txt
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/to-do.txt	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/to-do.txt	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -24,3 +24,5 @@
 -> revise strong exception safety concepts for treap::erase functions.
    What happens with range deletions?
 -> Assure stable order for optimize_multikey and inverse order otherwise
+-> linear slist's splice_after(..., slist &x) can be optimized if *this is empty
+-> optimize slist::merge like list::merge
Modified: branches/release/libs/intrusive/proj/vc7ide/virtual_base/virtual_base.vcproj
==============================================================================
--- branches/release/libs/intrusive/proj/vc7ide/virtual_base/virtual_base.vcproj	(original)
+++ branches/release/libs/intrusive/proj/vc7ide/virtual_base/virtual_base.vcproj	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -27,7 +27,7 @@
                                 MinimalRebuild="TRUE"
                                 BasicRuntimeChecks="3"
                                 RuntimeLibrary="5"
-				DisableLanguageExtensions="FALSE"
+				DisableLanguageExtensions="TRUE"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 UsePrecompiledHeader="0"
Modified: branches/release/libs/intrusive/test/slist_test.cpp
==============================================================================
--- branches/release/libs/intrusive/test/slist_test.cpp	(original)
+++ branches/release/libs/intrusive/test/slist_test.cpp	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -417,6 +417,28 @@
       {  int init_values [] = { 2 };
          TEST_INTRUSIVE_SEQUENCE( init_values, testlist2.begin() );  }
    }
+   {  //Now test swap when testlist2 is empty
+      list_type testlist1 (&values[0], &values[0] + 2);
+      list_type testlist2;
+      testlist1.swap(testlist2);
+      BOOST_TEST (testlist1.empty());
+      {  int init_values [] = { 1, 2 };
+         TEST_INTRUSIVE_SEQUENCE( init_values, testlist2.begin() );  }
+   }
+   {  //Now test swap when testlist1 is empty
+      list_type testlist2 (&values[0], &values[0] + 2);
+      list_type testlist1;
+      testlist1.swap(testlist2);
+      BOOST_TEST (testlist2.empty());
+      {  int init_values [] = { 1, 2 };
+         TEST_INTRUSIVE_SEQUENCE( init_values, testlist1.begin() );  }
+   }
+   {  //Now test when both are empty
+      list_type testlist1, testlist2;
+      testlist2.swap(testlist1);
+      BOOST_TEST (testlist1.empty() && testlist2.empty());
+   }
+
    if(!list_type::linear)
    {
       list_type testlist1 (&values[0], &values[0] + 2);
Modified: branches/release/libs/intrusive/test/unordered_multiset_test.cpp
==============================================================================
--- branches/release/libs/intrusive/test/unordered_multiset_test.cpp	(original)
+++ branches/release/libs/intrusive/test/unordered_multiset_test.cpp	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -719,7 +719,6 @@
                 , false
                 , Incremental
                 >::test_all(data);
-
       return 0;
    }
 };
@@ -740,7 +739,7 @@
                   < value_type
                   , typename hooks<VoidPointer>::base_hook_type
                   >::type
-                , true
+                , false
                 , false
                 , Incremental
                 >::test_all(data);
@@ -752,7 +751,7 @@
                                , &value_type::node_
                                >
                   >::type
-                , false
+                , true
                 , false
                 , Incremental
                 >::test_all(data);
@@ -761,8 +760,8 @@
                   < value_type
                   , typename hooks<VoidPointer>::auto_base_hook_type
                   >::type
-                , true
-                , true
+                , false
+                , false
                 , Incremental
                 >::test_all(data);
 
Modified: branches/release/libs/intrusive/test/unordered_set_test.cpp
==============================================================================
--- branches/release/libs/intrusive/test/unordered_set_test.cpp	(original)
+++ branches/release/libs/intrusive/test/unordered_set_test.cpp	2009-03-28 10:41:39 EDT (Sat, 28 Mar 2009)
@@ -623,7 +623,7 @@
                   < value_type
                   , typename hooks<VoidPointer>::auto_base_hook_type
                   >::type
-                , true
+                , false
                 , true
                 , incremental
                 >::test_all(data);