Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r57179 - in branches/release: . boost boost/algorithm/string boost/archive boost/config boost/filesystem boost/fusion boost/graph boost/interprocess boost/intrusive boost/iostreams boost/math boost/numeric/ublas boost/program_options boost/property_tree boost/python boost/regex boost/serialization boost/signals boost/signals2 boost/spirit boost/spirit/home boost/spirit/home/karma boost/spirit/home/qi/nonterminal boost/spirit/home/qi/numeric/detail boost/spirit/home/support boost/spirit/repository/home/qi/nonterminal boost/system boost/thread boost/tr1 boost/type_traits boost/unordered/detail boost/utility boost/wave libs libs/config libs/filesystem libs/fusion libs/graph_parallel libs/interprocess libs/intrusive libs/iostreams libs/math libs/mpl/doc/refmanual libs/mpl/doc/src/refmanual libs/numeric/ublas libs/program_options libs/property_tree libs/python libs/regex libs/serialization libs/signals libs/signals2 libs/spirit libs/spirit/classic/example libs/spirit/doc libs/spirit/doc/html/spirit/abstracts/customize libs/spirit/doc/html/spirit/abstracts/indepth libs/spirit/example libs/spirit/phoenix libs/spirit/test libs/spirit/test/qi libs/system libs/thread libs/timer libs/tr1 libs/type_traits libs/unordered/test/exception libs/unordered/test/unordered libs/utility libs/wave status tools/boostbook tools/build/v2 tools/quickbook tools/regression tools/release tools/wave
From: daniel_james_at_[hidden]
Date: 2009-10-27 15:39:34


Author: danieljames
Date: 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
New Revision: 57179
URL: http://svn.boost.org/trac/boost/changeset/57179

Log:
Merged revisions 57126,57139,57150-57153 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r57126 | danieljames | 2009-10-24 12:56:30 +0100 (Sat, 24 Oct 2009) | 1 line
  
  Update the intel compile flags.
........
  r57139 | danieljames | 2009-10-24 18:53:03 +0100 (Sat, 24 Oct 2009) | 1 line
  
  Fix unordered for intel strict.
........
  r57150 | danieljames | 2009-10-25 10:54:28 +0000 (Sun, 25 Oct 2009) | 1 line
  
  Fix the intel strict flag.
........
  r57151 | danieljames | 2009-10-25 10:54:53 +0000 (Sun, 25 Oct 2009) | 1 line
  
  Remove insert empty initializer lists, as there's a bug in gcc.
........
  r57152 | danieljames | 2009-10-25 10:55:08 +0000 (Sun, 25 Oct 2009) | 1 line
  
  Slightly rearrange the unordered container headers so that prev_prime is defined before it's used.
........
  r57153 | danieljames | 2009-10-25 10:55:27 +0000 (Sun, 25 Oct 2009) | 1 line
  
  Remove 'grouped' from hash_table as it isn't used and is a bit confusing.
........

Properties modified:
   branches/release/ (props changed)
   branches/release/boost/algorithm/string/ (props changed)
   branches/release/boost/archive/ (props changed)
   branches/release/boost/config/ (props changed)
   branches/release/boost/filesystem/ (props changed)
   branches/release/boost/fusion/ (props changed)
   branches/release/boost/graph/ (props changed)
   branches/release/boost/interprocess/ (props changed)
   branches/release/boost/intrusive/ (props changed)
   branches/release/boost/iostreams/ (props changed)
   branches/release/boost/math/ (props changed)
   branches/release/boost/numeric/ublas/ (props changed)
   branches/release/boost/program_options/ (props changed)
   branches/release/boost/property_tree/ (props changed)
   branches/release/boost/python/ (props changed)
   branches/release/boost/regex/ (props changed)
   branches/release/boost/serialization/ (props changed)
   branches/release/boost/signals/ (props changed)
   branches/release/boost/signals2/ (props changed)
   branches/release/boost/spirit/ (props changed)
   branches/release/boost/spirit/home/ (props changed)
   branches/release/boost/spirit/home/karma/ (props changed)
   branches/release/boost/spirit/home/qi/nonterminal/rule.hpp (props changed)
   branches/release/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp (props changed)
   branches/release/boost/spirit/home/support/attributes.hpp (props changed)
   branches/release/boost/spirit/repository/home/qi/nonterminal/subrule.hpp (props changed)
   branches/release/boost/system/ (props changed)
   branches/release/boost/thread/ (props changed)
   branches/release/boost/thread.hpp (props changed)
   branches/release/boost/tr1/ (props changed)
   branches/release/boost/type_traits/ (props changed)
   branches/release/boost/utility/value_init.hpp (props changed)
   branches/release/boost/wave/ (props changed)
   branches/release/index.html (props changed)
   branches/release/libs/config/ (props changed)
   branches/release/libs/filesystem/ (props changed)
   branches/release/libs/fusion/ (props changed)
   branches/release/libs/graph_parallel/ (props changed)
   branches/release/libs/interprocess/ (props changed)
   branches/release/libs/intrusive/ (props changed)
   branches/release/libs/iostreams/ (props changed)
   branches/release/libs/libraries.htm (props changed)
   branches/release/libs/maintainers.txt (props changed)
   branches/release/libs/math/ (props changed)
   branches/release/libs/mpl/doc/refmanual/broken-compiler-workarounds.html (props changed)
   branches/release/libs/mpl/doc/refmanual/categorized-index-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/cfg-no-preprocessed-headers.html (props changed)
   branches/release/libs/mpl/doc/refmanual/composition-and-argument-binding.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-concepts.html (props changed)
   branches/release/libs/mpl/doc/refmanual/data-types-miscellaneous.html (props changed)
   branches/release/libs/mpl/doc/refmanual/extensible-associative-sequence.html (props changed)
   branches/release/libs/mpl/doc/refmanual/inserter-class.html (props changed)
   branches/release/libs/mpl/doc/refmanual/tag-dispatched-metafunction.html (props changed)
   branches/release/libs/mpl/doc/refmanual/trivial-metafunctions-summary.html (props changed)
   branches/release/libs/mpl/doc/src/refmanual/Iterators-Iterator.rst (props changed)
   branches/release/libs/numeric/ublas/ (props changed)
   branches/release/libs/program_options/ (props changed)
   branches/release/libs/property_tree/ (props changed)
   branches/release/libs/python/ (props changed)
   branches/release/libs/regex/ (props changed)
   branches/release/libs/serialization/ (props changed)
   branches/release/libs/signals/ (props changed)
   branches/release/libs/signals2/ (props changed)
   branches/release/libs/spirit/ (props changed)
   branches/release/libs/spirit/classic/example/ (props changed)
   branches/release/libs/spirit/doc/ (props changed)
   branches/release/libs/spirit/doc/html/spirit/abstracts/customize/ (props changed)
   branches/release/libs/spirit/doc/html/spirit/abstracts/indepth/ (props changed)
   branches/release/libs/spirit/example/ (props changed)
   branches/release/libs/spirit/phoenix/ (props changed)
   branches/release/libs/spirit/test/ (props changed)
   branches/release/libs/spirit/test/qi/optional.cpp (props changed)
   branches/release/libs/system/ (props changed)
   branches/release/libs/thread/ (props changed)
   branches/release/libs/timer/ (props changed)
   branches/release/libs/tr1/ (props changed)
   branches/release/libs/type_traits/ (props changed)
   branches/release/libs/utility/swap.html (props changed)
   branches/release/libs/utility/value_init.htm (props changed)
   branches/release/libs/utility/value_init_test.cpp (props changed)
   branches/release/libs/wave/ (props changed)
   branches/release/status/ (props changed)
   branches/release/tools/boostbook/ (props changed)
   branches/release/tools/build/v2/ (props changed)
   branches/release/tools/quickbook/ (props changed)
   branches/release/tools/regression/ (props changed)
   branches/release/tools/release/ (props changed)
   branches/release/tools/wave/ (props changed)
Text files modified:
   branches/release/boost/unordered/detail/buckets.hpp | 7 +++++++
   branches/release/boost/unordered/detail/equivalent.hpp | 10 +++++-----
   branches/release/boost/unordered/detail/fwd.hpp | 15 +++++----------
   branches/release/boost/unordered/detail/table.hpp | 1 -
   branches/release/boost/unordered/detail/unique.hpp | 17 ++++++++---------
   branches/release/libs/unordered/test/exception/Jamfile.v2 | 6 +-----
   branches/release/libs/unordered/test/unordered/Jamfile.v2 | 7 ++++---
   branches/release/libs/unordered/test/unordered/insert_tests.cpp | 6 +++---
   8 files changed, 33 insertions(+), 36 deletions(-)

Modified: branches/release/boost/unordered/detail/buckets.hpp
==============================================================================
--- branches/release/boost/unordered/detail/buckets.hpp (original)
+++ branches/release/boost/unordered/detail/buckets.hpp 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -10,6 +10,7 @@
 #include <boost/config.hpp>
 #include <boost/assert.hpp>
 #include <boost/unordered/detail/node.hpp>
+#include <boost/unordered/detail/util.hpp>
 
 namespace boost { namespace unordered_detail {
     
@@ -17,6 +18,12 @@
     // Buckets
     
     template <class A, class G>
+ inline std::size_t hash_buckets<A, G>::max_bucket_count() const {
+ // -1 to account for the sentinel.
+ return prev_prime(this->bucket_alloc().max_size() - 1);
+ }
+
+ template <class A, class G>
     inline BOOST_DEDUCED_TYPENAME hash_buckets<A, G>::bucket_ptr
         hash_buckets<A, G>::get_bucket(std::size_t num) const
     {

Modified: branches/release/boost/unordered/detail/equivalent.hpp
==============================================================================
--- branches/release/boost/unordered/detail/equivalent.hpp (original)
+++ branches/release/boost/unordered/detail/equivalent.hpp 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -28,7 +28,7 @@
             node_ptr it1 = i->next_;
             while(BOOST_UNORDERED_BORLAND_BOOL(it1))
             {
- node_ptr it2 = other.find_iterator(get_key_from_ptr(it1));
+ node_ptr it2 = other.find_iterator(this->get_key_from_ptr(it1));
                 if(!BOOST_UNORDERED_BORLAND_BOOL(it2)) return false;
                 
                 node_ptr end1 = node::next_group(it1);
@@ -77,7 +77,7 @@
         hash_equivalent_table<H, P, A, K>::iterator_base
         hash_equivalent_table<H, P, A, K>::emplace_impl(node_constructor& a)
     {
- key_type const& k = get_key(a.value());
+ key_type const& k = this->get_key(a.value());
         std::size_t hash_value = this->hash_function()(k);
         
         if(!this->size_) {
@@ -85,7 +85,7 @@
         }
         else {
             bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr position = find_iterator(bucket, k);
+ node_ptr position = this->find_iterator(bucket, k);
 
             // reserve has basic exception safety if the hash function
             // throws, strong otherwise.
@@ -100,9 +100,9 @@
     inline void hash_equivalent_table<H, P, A, K>
             ::emplace_impl_no_rehash(node_constructor& a)
     {
- key_type const& k = get_key(a.value());
+ key_type const& k = this->get_key(a.value());
         bucket_ptr bucket = this->get_bucket(this->bucket_index(k));
- add_node(a, bucket, find_iterator(bucket, k));
+ add_node(a, bucket, this->find_iterator(bucket, k));
     }
 
 #if defined(BOOST_UNORDERED_STD_FORWARD)

Modified: branches/release/boost/unordered/detail/fwd.hpp
==============================================================================
--- branches/release/boost/unordered/detail/fwd.hpp (original)
+++ branches/release/boost/unordered/detail/fwd.hpp 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -298,10 +298,7 @@
             return allocators_.first(); }
         node_allocator& node_alloc() {
             return allocators_.second(); }
- std::size_t max_bucket_count() const {
- // -1 to account for the sentinel.
- return prev_prime(this->bucket_alloc().max_size() - 1);
- }
+ std::size_t max_bucket_count() const;
 
         // Constructors
 
@@ -443,7 +440,6 @@
         typedef H hasher;
         typedef P key_equal;
         typedef A value_allocator;
- typedef G grouped;
         typedef K key_extractor;
         typedef hash_buffered_functions<H, P> base;
         typedef hash_buckets<A, G> buckets;
@@ -575,7 +571,7 @@
 
     template <class H, class P, class A, class K>
     class hash_unique_table :
- public hash_table<H, P, A, boost::unordered_detail::ungrouped, K>
+ public hash_table<H, P, A, ungrouped, K>
         
     {
     public:
@@ -669,7 +665,7 @@
 
     template <class H, class P, class A, class K>
     class hash_equivalent_table :
- public hash_table<H, P, A, boost::unordered_detail::grouped, K>
+ public hash_table<H, P, A, grouped, K>
         
     {
     public:
@@ -678,9 +674,8 @@
         typedef A value_allocator;
         typedef K key_extractor;
 
- typedef hash_table<H, P, A, boost::unordered_detail::grouped, K> table;
- typedef hash_node_constructor<A, boost::unordered_detail::grouped>
- node_constructor;
+ typedef hash_table<H, P, A, grouped, K> table;
+ typedef hash_node_constructor<A, grouped> node_constructor;
         typedef hash_iterator_base<A, grouped> iterator_base;
 
         typedef BOOST_DEDUCED_TYPENAME table::key_type key_type;

Modified: branches/release/boost/unordered/detail/table.hpp
==============================================================================
--- branches/release/boost/unordered/detail/table.hpp (original)
+++ branches/release/boost/unordered/detail/table.hpp 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -14,7 +14,6 @@
 #include <boost/iterator/iterator_categories.hpp>
 
 #include <boost/unordered/detail/buckets.hpp>
-#include <boost/unordered/detail/util.hpp>
 
 namespace boost { namespace unordered_detail {
 

Modified: branches/release/boost/unordered/detail/unique.hpp
==============================================================================
--- branches/release/boost/unordered/detail/unique.hpp (original)
+++ branches/release/boost/unordered/detail/unique.hpp 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -28,7 +28,7 @@
             node_ptr it1 = i->next_;
             while(BOOST_UNORDERED_BORLAND_BOOL(it1))
             {
- node_ptr it2 = other.find_iterator(get_key_from_ptr(it1));
+ node_ptr it2 = other.find_iterator(this->get_key_from_ptr(it1));
                 if(!BOOST_UNORDERED_BORLAND_BOOL(it2)) return false;
                 if(!extractor::compare_mapped(
                     node::get_value(it1), node::get_value(it2)))
@@ -76,7 +76,7 @@
             return *this->emplace_empty_impl_with_node(a, 1);
         }
 
- node_ptr pos = find_iterator(bucket, k);
+ node_ptr pos = this->find_iterator(bucket, k);
 
         if (BOOST_UNORDERED_BORLAND_BOOL(pos)) {
             return node::get_value(pos);
@@ -102,14 +102,13 @@
 
     template <class H, class P, class A, class K>
     inline BOOST_DEDUCED_TYPENAME hash_unique_table<H, P, A, K>::emplace_return
- hash_unique_table<H, P, A, K>
- ::emplace_impl_with_node(node_constructor& a)
+ hash_unique_table<H, P, A, K>::emplace_impl_with_node(node_constructor& a)
     {
         // No side effects in this initial code
- key_type const& k = get_key(a.value());
+ key_type const& k = this->get_key(a.value());
         std::size_t hash_value = this->hash_function()(k);
         bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr pos = find_iterator(bucket, k);
+ node_ptr pos = this->find_iterator(bucket, k);
         
         if (BOOST_UNORDERED_BORLAND_BOOL(pos)) {
             // Found an existing key, return it (no throw).
@@ -139,7 +138,7 @@
         // No side effects in this initial code
         std::size_t hash_value = this->hash_function()(k);
         bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr pos = find_iterator(bucket, k);
+ node_ptr pos = this->find_iterator(bucket, k);
 
         if (BOOST_UNORDERED_BORLAND_BOOL(pos)) {
             // Found an existing key, return it (no throw).
@@ -203,7 +202,7 @@
         std::size_t hash_value = this->hash_function()(k); \
         bucket_ptr bucket \
             = this->bucket_ptr_from_hash(hash_value); \
- node_ptr pos = find_iterator(bucket, k); \
+ node_ptr pos = this->find_iterator(bucket, k); \
                                                                                \
         if (BOOST_UNORDERED_BORLAND_BOOL(pos)) { \
             return emplace_return(iterator_base(bucket, pos), false); \
@@ -330,7 +329,7 @@
             key_type const& k = extractor::extract(*i);
             std::size_t hash_value = this->hash_function()(k);
             bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value);
- node_ptr pos = find_iterator(bucket, k);
+ node_ptr pos = this->find_iterator(bucket, k);
 
             if (!BOOST_UNORDERED_BORLAND_BOOL(pos)) {
                 // Doesn't already exist, add to bucket.

Modified: branches/release/libs/unordered/test/exception/Jamfile.v2
==============================================================================
--- branches/release/libs/unordered/test/exception/Jamfile.v2 (original)
+++ branches/release/libs/unordered/test/exception/Jamfile.v2 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -8,11 +8,7 @@
 #alias framework : /boost/test//boost_unit_test_framework ;
 alias framework : ;
 
-project unordered-test/exception-tests
- : requirements
- <toolset>intel-linux:"<cxxflags>-strict_ansi -cxxlib-icc"
- <toolset>gcc:<cxxflags>"-Wsign-promo -Wunused-parameter"
- ;
+project unordered-test/exception-tests ;
 
 test-suite unordered-exception
     :

Modified: branches/release/libs/unordered/test/unordered/Jamfile.v2
==============================================================================
--- branches/release/libs/unordered/test/unordered/Jamfile.v2 (original)
+++ branches/release/libs/unordered/test/unordered/Jamfile.v2 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -7,10 +7,11 @@
 
 project unordered-test/unordered
     : requirements
- <toolset>intel-linux:"<cxxflags>-strict_ansi -cxxlib-icc"
- <toolset>gcc:<cxxflags>"-Wsign-promo -Wunused-parameter"
- #<toolset>msvc:<cxxflags>/W4
         <warnings>all
+ <toolset>intel:<warnings>on
+ <toolset>intel:<cxxflags>-strict-ansi
+ <toolset>msvc:<cxxflags>/W4
+ <toolset>gcc:<cxxflags>"-Wsign-promo -Wunused-parameter -pedantic"
     ;
 
 test-suite unordered

Modified: branches/release/libs/unordered/test/unordered/insert_tests.cpp
==============================================================================
--- branches/release/libs/unordered/test/unordered/insert_tests.cpp (original)
+++ branches/release/libs/unordered/test/unordered/insert_tests.cpp 2009-10-27 15:39:33 EDT (Tue, 27 Oct 2009)
@@ -407,7 +407,7 @@
 UNORDERED_AUTO_TEST(insert_initializer_list_multiset)
 {
     boost::unordered_multiset<std::string> multiset;
- multiset.insert({});
+ //multiset.insert({});
     BOOST_TEST(multiset.empty());
     multiset.insert({"a"});
     BOOST_TEST_EQ(multiset.size(), 1u);
@@ -423,7 +423,7 @@
 UNORDERED_AUTO_TEST(insert_initializer_list_map)
 {
     boost::unordered_map<std::string, std::string> map;
- map.insert({});
+ //map.insert({});
     BOOST_TEST(map.empty());
     map.insert({{"a", "b"},{"a", "b"},{"d", ""}});
     BOOST_TEST_EQ(map.size(), 2u);
@@ -432,7 +432,7 @@
 UNORDERED_AUTO_TEST(insert_initializer_list_multimap)
 {
     boost::unordered_multimap<std::string, std::string> multimap;
- multimap.insert({});
+ //multimap.insert({});
     BOOST_TEST(multimap.empty());
     multimap.insert({{"a", "b"},{"a", "b"},{"d", ""}});
     BOOST_TEST_EQ(multimap.size(), 3u);


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