|
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