Boost logo

Boost-Commit :

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);


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