Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61556 - in sandbox/move/libs/intrusive: doc proj/vc7ide test
From: igaztanaga_at_[hidden]
Date: 2010-04-25 08:33:41


Author: igaztanaga
Date: 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
New Revision: 61556
URL: http://svn.boost.org/trac/boost/changeset/61556

Log:
Boost.Move review version
Text files modified:
   sandbox/move/libs/intrusive/doc/intrusive.qbk | 30 ++++++++++++++++++++++++++----
   sandbox/move/libs/intrusive/proj/vc7ide/Intrusive.sln | 2 --
   sandbox/move/libs/intrusive/proj/vc7ide/to-do.txt | 1 +
   sandbox/move/libs/intrusive/test/any_test.cpp | 27 ---------------------------
   sandbox/move/libs/intrusive/test/common_functors.hpp | 2 +-
   sandbox/move/libs/intrusive/test/generic_assoc_test.hpp | 8 +++++---
   sandbox/move/libs/intrusive/test/set_test.cpp | 1 +
   sandbox/move/libs/intrusive/test/smart_ptr.hpp | 6 +++---
   8 files changed, 37 insertions(+), 40 deletions(-)

Modified: sandbox/move/libs/intrusive/doc/intrusive.qbk
==============================================================================
--- sandbox/move/libs/intrusive/doc/intrusive.qbk (original)
+++ sandbox/move/libs/intrusive/doc/intrusive.qbk 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -6,9 +6,9 @@
  /]
 
 [library Boost.Intrusive
- [quickbook 1.3]
- [authors [Krzikalla, Olaf], [Gaztañaga, Ion]]
- [copyright 2005 Olaf Krzikalla, 2006-2009 Ion Gaztañaga]
+ [quickbook 1.4]
+ [authors [Krzikalla, Olaf], [Gaztanaga, Ion]]
+ [copyright 2005 Olaf Krzikalla, 2006-2009 Ion Gaztanaga]
     [id intrusive]
     [dirname intrusive]
     [purpose Intrusive containers]
@@ -3183,7 +3183,8 @@
 and values is implemented in terms of static functions]. It's possible to use [*stateful] value traits
 so that we can separate nodes and values and [*avoid modifying types to insert nodes].
 [*Boost.Intrusive] differentiates between stateful and stateless value traits by checking if all
-Node <-> Value transformation functions are static or not:
+Node <-> Value transformation functions are static or not (except for Visual 7.1, since overloaded
+static function detection is not possible, in this case the implementation checks if the class is empty):
 
 * If all Node <-> Value transformation functions are static , a [*stateless]
    value traits is assumed. transformations must be static functions.
@@ -3727,6 +3728,27 @@
 
 [section:release_notes Release Notes]
 
+[section:release_notes_boost_1_43_00 Boost 1.43 Release]
+
+* Fixed bugs
+ [@https://svn.boost.org/trac/boost/ticket/3668 #3668],
+ [@https://svn.boost.org/trac/boost/ticket/3339 #3688],
+ [@https://svn.boost.org/trac/boost/ticket/3698 #3698],
+ [@https://svn.boost.org/trac/boost/ticket/3706 #3706],
+ [@https://svn.boost.org/trac/boost/ticket/3721 #3721].
+ [@https://svn.boost.org/trac/boost/ticket/3729 #3729],
+ [@https://svn.boost.org/trac/boost/ticket/3746 #3746],
+ [@https://svn.boost.org/trac/boost/ticket/3781 #3781],
+ [@https://svn.boost.org/trac/boost/ticket/3829 #3829],
+ [@https://svn.boost.org/trac/boost/ticket/3840 #3840],
+ [@https://svn.boost.org/trac/boost/ticket/3339 #3339],
+ [@https://svn.boost.org/trac/boost/ticket/3419 #3419],
+ [@https://svn.boost.org/trac/boost/ticket/3431 #3431],
+ [@https://svn.boost.org/trac/boost/ticket/4021 #4021],
+
+[endsect]
+
+
 [section:release_notes_boost_1_40_00 Boost 1.40 Release]
 
 * Code cleanup in tree_algorithms.hpp and avl_tree_algorithms.hpp

Modified: sandbox/move/libs/intrusive/proj/vc7ide/Intrusive.sln
==============================================================================
--- sandbox/move/libs/intrusive/proj/vc7ide/Intrusive.sln (original)
+++ sandbox/move/libs/intrusive/proj/vc7ide/Intrusive.sln 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -96,8 +96,6 @@
                 Debug = Debug
                 Release = Release
         EndGlobalSection
- GlobalSection(ProjectDependencies) = postSolution
- EndGlobalSection
         GlobalSection(ProjectConfiguration) = postSolution
                 {977B61B4-9968-497C-9F0B-24A8145473B8}.Debug.ActiveCfg = Debug|Win32
                 {977B61B4-9968-497C-9F0B-24A8145473B8}.Debug.Build.0 = Debug|Win32

Modified: sandbox/move/libs/intrusive/proj/vc7ide/to-do.txt
==============================================================================
--- sandbox/move/libs/intrusive/proj/vc7ide/to-do.txt (original)
+++ sandbox/move/libs/intrusive/proj/vc7ide/to-do.txt 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -14,3 +14,4 @@
 -> Non-array buckets
 -> Document incremental<> option better
 -> Assure stable order for optimize_multikey and inverse order otherwise
+-> add an option to unordered containers to get O(1) traversal and begin()/end() even with very low load factors

Modified: sandbox/move/libs/intrusive/test/any_test.cpp
==============================================================================
--- sandbox/move/libs/intrusive/test/any_test.cpp (original)
+++ sandbox/move/libs/intrusive/test/any_test.cpp 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -1,4 +1,3 @@
-/*
 /////////////////////////////////////////////////////////////////////////////
 //
 // (C) Copyright Olaf Krzikalla 2004-2006.
@@ -190,29 +189,3 @@
 }
 
 #include <boost/intrusive/detail/config_end.hpp>
-*/
-
-#include <boost/intrusive/detail/function_detector.hpp>
-
-#include <boost/static_assert.hpp>
-#include <cassert>
-
-class myclass
-{
- public:
- bool some_func(int);
- static bool some_static_func(int);
-};
-
-BOOST_INTRUSIVE_CREATE_FUNCTION_DETECTOR(some_func)
-BOOST_INTRUSIVE_CREATE_FUNCTION_DETECTOR(some_static_func)
-BOOST_INTRUSIVE_CREATE_FUNCTION_DETECTOR(inexistent_func)
-
-int main()
-{
- using namespace boost::intrusive::function_detector;
- BOOST_STATIC_ASSERT(( NonStaticFunction == BOOST_INTRUSIVE_DETECT_FUNCTION(myclass, bool, some_func, (int)) ));
- BOOST_STATIC_ASSERT(( StaticFunction == BOOST_INTRUSIVE_DETECT_FUNCTION(myclass, bool, some_static_func, (int)) ));
- BOOST_STATIC_ASSERT(( NotFound == BOOST_INTRUSIVE_DETECT_FUNCTION(myclass, bool, inexistent_func, (int)) ));
- return 0;
-}

Modified: sandbox/move/libs/intrusive/test/common_functors.hpp
==============================================================================
--- sandbox/move/libs/intrusive/test/common_functors.hpp (original)
+++ sandbox/move/libs/intrusive/test/common_functors.hpp 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -29,7 +29,7 @@
    {
       typedef typename std::iterator_traits<Pointer>::value_type value_type;
       BOOST_INTRUSIVE_INVARIANT_ASSERT(( detail::is_same<T, value_type>::value ));
- delete detail::get_pointer(p);
+ delete detail::boost_intrusive_get_pointer(p);
    }
 };
 

Modified: sandbox/move/libs/intrusive/test/generic_assoc_test.hpp
==============================================================================
--- sandbox/move/libs/intrusive/test/generic_assoc_test.hpp (original)
+++ sandbox/move/libs/intrusive/test/generic_assoc_test.hpp 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -399,10 +399,12 @@
    {
       assoc_type testset;
       typedef typename std::vector<value_type>::iterator vec_iterator;
- for(vec_iterator it(--values.end()), itend(--values.begin())
- ; it != itend
- ; --it){
+
+ for(vec_iterator it(--values.end()); true; --it){
          testset.push_front(*it);
+ if(it == values.begin()){
+ break;
+ }
       }
       BOOST_TEST(testset.size() == values.size());
       TEST_INTRUSIVE_SEQUENCE_EXPECTED(values, testset.begin());

Modified: sandbox/move/libs/intrusive/test/set_test.cpp
==============================================================================
--- sandbox/move/libs/intrusive/test/set_test.cpp (original)
+++ sandbox/move/libs/intrusive/test/set_test.cpp 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -147,6 +147,7 @@
    }
 };
 
+
 int main( int, char* [] )
 {
    test_main_template<void*, false>()();

Modified: sandbox/move/libs/intrusive/test/smart_ptr.hpp
==============================================================================
--- sandbox/move/libs/intrusive/test/smart_ptr.hpp (original)
+++ sandbox/move/libs/intrusive/test/smart_ptr.hpp 2010-04-25 08:33:39 EDT (Sun, 25 Apr 2010)
@@ -34,7 +34,7 @@
 struct empty_type{};
 
 template<class T>
-struct random_it
+struct random_it
 : public boost::iterator<std::random_access_iterator_tag,
                          T, std::ptrdiff_t, T*, T&>
 {
@@ -303,10 +303,10 @@
    pt2 = ptr;
 }
 
-//!detail::get_pointer() enables boost::mem_fn to recognize smart_ptr.
+//!detail::boost_intrusive_get_pointer() enables boost::mem_fn to recognize smart_ptr.
 //!Never throws.
 template<class T>
-inline T* get_pointer(const smart_ptr<T> & p)
+inline T* boost_intrusive_get_pointer(const smart_ptr<T> & p)
 { return p.get(); }
 
 //!Simulation of static_cast between pointers. Never throws.


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