|
Boost-Commit : |
From: joaquin_at_[hidden]
Date: 2008-07-03 12:52:06
Author: joaquin
Date: 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
New Revision: 47045
URL: http://svn.boost.org/trac/boost/changeset/47045
Log:
merged up to rev. 47041 from trunk
Text files modified:
branches/release/boost/detail/allocator_utilities.hpp | 2
branches/release/boost/multi_index/composite_key.hpp | 2
branches/release/boost/multi_index/detail/access_specifier.hpp | 2
branches/release/boost/multi_index/detail/adl_swap.hpp | 2
branches/release/boost/multi_index/detail/archive_constructed.hpp | 2
branches/release/boost/multi_index/detail/auto_space.hpp | 2
branches/release/boost/multi_index/detail/base_type.hpp | 2
branches/release/boost/multi_index/detail/bidir_node_iterator.hpp | 12 +-
branches/release/boost/multi_index/detail/bucket_array.hpp | 4
branches/release/boost/multi_index/detail/converter.hpp | 2
branches/release/boost/multi_index/detail/copy_map.hpp | 2
branches/release/boost/multi_index/detail/duplicates_iterator.hpp | 2
branches/release/boost/multi_index/detail/has_tag.hpp | 2
branches/release/boost/multi_index/detail/hash_index_args.hpp | 2
branches/release/boost/multi_index/detail/hash_index_iterator.hpp | 12 +-
branches/release/boost/multi_index/detail/hash_index_node.hpp | 10 +-
branches/release/boost/multi_index/detail/header_holder.hpp | 2
branches/release/boost/multi_index/detail/index_base.hpp | 2
branches/release/boost/multi_index/detail/index_loader.hpp | 2
branches/release/boost/multi_index/detail/index_matcher.hpp | 2
branches/release/boost/multi_index/detail/index_node_base.hpp | 2
branches/release/boost/multi_index/detail/index_saver.hpp | 2
branches/release/boost/multi_index/detail/invariant_assert.hpp | 2
branches/release/boost/multi_index/detail/is_index_list.hpp | 2
branches/release/boost/multi_index/detail/iter_adaptor.hpp | 2
branches/release/boost/multi_index/detail/modify_key_adaptor.hpp | 2
branches/release/boost/multi_index/detail/msvc_index_specifier.hpp | 2
branches/release/boost/multi_index/detail/no_duplicate_tags.hpp | 2
branches/release/boost/multi_index/detail/node_type.hpp | 2
branches/release/boost/multi_index/detail/ord_index_args.hpp | 2
branches/release/boost/multi_index/detail/ord_index_node.hpp | 6
branches/release/boost/multi_index/detail/ord_index_ops.hpp | 2
branches/release/boost/multi_index/detail/prevent_eti.hpp | 2
branches/release/boost/multi_index/detail/rnd_index_loader.hpp | 4
branches/release/boost/multi_index/detail/rnd_index_node.hpp | 6
branches/release/boost/multi_index/detail/rnd_index_ops.hpp | 2
branches/release/boost/multi_index/detail/rnd_index_ptr_array.hpp | 4
branches/release/boost/multi_index/detail/rnd_node_iterator.hpp | 24 +++---
branches/release/boost/multi_index/detail/safe_ctr_proxy.hpp | 2
branches/release/boost/multi_index/detail/safe_mode.hpp | 2
branches/release/boost/multi_index/detail/scope_guard.hpp | 2
branches/release/boost/multi_index/detail/seq_index_node.hpp | 6
branches/release/boost/multi_index/detail/seq_index_ops.hpp | 2
branches/release/boost/multi_index/detail/uintptr_type.hpp | 2
branches/release/boost/multi_index/detail/unbounded.hpp | 2
branches/release/boost/multi_index/detail/value_compare.hpp | 2
branches/release/boost/multi_index/global_fun.hpp | 2
branches/release/boost/multi_index/hashed_index.hpp | 148 ++++++++++++++++++++++++++++++---------
branches/release/boost/multi_index/hashed_index_fwd.hpp | 2
branches/release/boost/multi_index/identity.hpp | 2
branches/release/boost/multi_index/identity_fwd.hpp | 2
branches/release/boost/multi_index/indexed_by.hpp | 2
branches/release/boost/multi_index/key_extractors.hpp | 2
branches/release/boost/multi_index/mem_fun.hpp | 2
branches/release/boost/multi_index/member.hpp | 2
branches/release/boost/multi_index/ordered_index.hpp | 2
branches/release/boost/multi_index/ordered_index_fwd.hpp | 2
branches/release/boost/multi_index/random_access_index.hpp | 2
branches/release/boost/multi_index/random_access_index_fwd.hpp | 2
branches/release/boost/multi_index/safe_mode_errors.hpp | 2
branches/release/boost/multi_index/sequenced_index.hpp | 2
branches/release/boost/multi_index/sequenced_index_fwd.hpp | 2
branches/release/boost/multi_index/tag.hpp | 2
branches/release/boost/multi_index_container.hpp | 10 ++
branches/release/boost/multi_index_container_fwd.hpp | 2
branches/release/libs/multi_index/doc/acknowledgements.html | 16 +++
branches/release/libs/multi_index/doc/compiler_specifics.html | 150 ++++++++++++++++-----------------------
branches/release/libs/multi_index/doc/reference/hash_indices.html | 51 +++++++------
branches/release/libs/multi_index/doc/reference/key_extraction.html | 14 +-
branches/release/libs/multi_index/doc/reference/multi_index_container.html | 19 +++-
branches/release/libs/multi_index/doc/reference/ord_indices.html | 58 ++++++++-------
branches/release/libs/multi_index/doc/reference/rnd_indices.html | 26 +++---
branches/release/libs/multi_index/doc/reference/seq_indices.html | 26 +++---
branches/release/libs/multi_index/doc/release_notes.html | 22 +++++
branches/release/libs/multi_index/example/basic.cpp | 2
branches/release/libs/multi_index/example/bimap.cpp | 2
branches/release/libs/multi_index/example/complex_structs.cpp | 2
branches/release/libs/multi_index/example/composite_keys.cpp | 2
branches/release/libs/multi_index/example/fun_key.cpp | 2
branches/release/libs/multi_index/example/hashed.cpp | 4
branches/release/libs/multi_index/example/ip_allocator.cpp | 2
branches/release/libs/multi_index/example/non_default_ctor.cpp | 2
branches/release/libs/multi_index/example/random_access.cpp | 2
branches/release/libs/multi_index/example/rearrange.cpp | 2
branches/release/libs/multi_index/example/sequenced.cpp | 2
branches/release/libs/multi_index/example/serialization.cpp | 2
branches/release/libs/multi_index/perf/test_perf.cpp | 2
branches/release/libs/multi_index/test/employee.hpp | 2
branches/release/libs/multi_index/test/non_std_allocator.hpp | 12 --
branches/release/libs/multi_index/test/pair_of_ints.hpp | 2
branches/release/libs/multi_index/test/pre_multi_index.hpp | 2
branches/release/libs/multi_index/test/test_all_main.cpp | 2
branches/release/libs/multi_index/test/test_basic.cpp | 2
branches/release/libs/multi_index/test/test_basic.hpp | 2
branches/release/libs/multi_index/test/test_basic_main.cpp | 2
branches/release/libs/multi_index/test/test_capacity.cpp | 2
branches/release/libs/multi_index/test/test_capacity.hpp | 2
branches/release/libs/multi_index/test/test_capacity_main.cpp | 2
branches/release/libs/multi_index/test/test_comparison.cpp | 2
branches/release/libs/multi_index/test/test_comparison.hpp | 2
branches/release/libs/multi_index/test/test_comparison_main.cpp | 2
branches/release/libs/multi_index/test/test_composite_key.cpp | 2
branches/release/libs/multi_index/test/test_composite_key.hpp | 2
branches/release/libs/multi_index/test/test_composite_key_main.cpp | 2
branches/release/libs/multi_index/test/test_conv_iterators.cpp | 2
branches/release/libs/multi_index/test/test_conv_iterators.hpp | 2
branches/release/libs/multi_index/test/test_conv_iterators_main.cpp | 2
branches/release/libs/multi_index/test/test_copy_assignment.cpp | 4
branches/release/libs/multi_index/test/test_copy_assignment.hpp | 2
branches/release/libs/multi_index/test/test_copy_assignment_main.cpp | 2
branches/release/libs/multi_index/test/test_hash_ops.cpp | 2
branches/release/libs/multi_index/test/test_hash_ops.hpp | 2
branches/release/libs/multi_index/test/test_hash_ops_main.cpp | 2
branches/release/libs/multi_index/test/test_iterators.cpp | 2
branches/release/libs/multi_index/test/test_iterators.hpp | 2
branches/release/libs/multi_index/test/test_iterators_main.cpp | 2
branches/release/libs/multi_index/test/test_key_extractors.cpp | 2
branches/release/libs/multi_index/test/test_key_extractors.hpp | 2
branches/release/libs/multi_index/test/test_key_extractors_main.cpp | 2
branches/release/libs/multi_index/test/test_list_ops.cpp | 2
branches/release/libs/multi_index/test/test_list_ops.hpp | 2
branches/release/libs/multi_index/test/test_list_ops_main.cpp | 2
branches/release/libs/multi_index/test/test_modifiers.cpp | 3
branches/release/libs/multi_index/test/test_modifiers.hpp | 2
branches/release/libs/multi_index/test/test_modifiers_main.cpp | 2
branches/release/libs/multi_index/test/test_mpl_ops.cpp | 2
branches/release/libs/multi_index/test/test_mpl_ops.hpp | 2
branches/release/libs/multi_index/test/test_mpl_ops_main.cpp | 2
branches/release/libs/multi_index/test/test_observers.cpp | 2
branches/release/libs/multi_index/test/test_observers.hpp | 2
branches/release/libs/multi_index/test/test_observers_main.cpp | 2
branches/release/libs/multi_index/test/test_projection.cpp | 2
branches/release/libs/multi_index/test/test_projection.hpp | 2
branches/release/libs/multi_index/test/test_projection_main.cpp | 2
branches/release/libs/multi_index/test/test_range.cpp | 2
branches/release/libs/multi_index/test/test_range.hpp | 2
branches/release/libs/multi_index/test/test_range_main.cpp | 2
branches/release/libs/multi_index/test/test_rearrange.cpp | 2
branches/release/libs/multi_index/test/test_rearrange.hpp | 2
branches/release/libs/multi_index/test/test_rearrange_main.cpp | 2
branches/release/libs/multi_index/test/test_safe_mode.cpp | 2
branches/release/libs/multi_index/test/test_safe_mode.hpp | 2
branches/release/libs/multi_index/test/test_safe_mode_main.cpp | 2
branches/release/libs/multi_index/test/test_serialization.cpp | 2
branches/release/libs/multi_index/test/test_serialization.hpp | 2
branches/release/libs/multi_index/test/test_serialization1.cpp | 2
branches/release/libs/multi_index/test/test_serialization1.hpp | 2
branches/release/libs/multi_index/test/test_serialization2.cpp | 2
branches/release/libs/multi_index/test/test_serialization2.hpp | 2
branches/release/libs/multi_index/test/test_serialization3.cpp | 2
branches/release/libs/multi_index/test/test_serialization3.hpp | 2
branches/release/libs/multi_index/test/test_serialization_main.cpp | 2
branches/release/libs/multi_index/test/test_serialization_template.hpp | 2
branches/release/libs/multi_index/test/test_set_ops.cpp | 2
branches/release/libs/multi_index/test/test_set_ops.hpp | 2
branches/release/libs/multi_index/test/test_set_ops_main.cpp | 2
branches/release/libs/multi_index/test/test_special_set_ops.cpp | 2
branches/release/libs/multi_index/test/test_special_set_ops.hpp | 2
branches/release/libs/multi_index/test/test_special_set_ops_main.cpp | 2
branches/release/libs/multi_index/test/test_update.cpp | 93 ++++++++++++++++++++++++
branches/release/libs/multi_index/test/test_update.hpp | 2
branches/release/libs/multi_index/test/test_update_main.cpp | 2
162 files changed, 603 insertions(+), 413 deletions(-)
Modified: branches/release/boost/detail/allocator_utilities.hpp
==============================================================================
--- branches/release/boost/detail/allocator_utilities.hpp (original)
+++ branches/release/boost/detail/allocator_utilities.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/composite_key.hpp
==============================================================================
--- branches/release/boost/multi_index/composite_key.hpp (original)
+++ branches/release/boost/multi_index/composite_key.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/access_specifier.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/access_specifier.hpp (original)
+++ branches/release/boost/multi_index/detail/access_specifier.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2006 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/adl_swap.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/adl_swap.hpp (original)
+++ branches/release/boost/multi_index/detail/adl_swap.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/archive_constructed.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/archive_constructed.hpp (original)
+++ branches/release/boost/multi_index/detail/archive_constructed.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/auto_space.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/auto_space.hpp (original)
+++ branches/release/boost/multi_index/detail/auto_space.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/base_type.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/base_type.hpp (original)
+++ branches/release/boost/multi_index/detail/base_type.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/bidir_node_iterator.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/bidir_node_iterator.hpp (original)
+++ branches/release/boost/multi_index/detail/bidir_node_iterator.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -31,10 +31,10 @@
* iterators (ordered and sequenced indices.)
*/
-template<typename Node,typename Derived=mpl::na>
+template<typename Node>
class bidir_node_iterator:
public bidirectional_iterator_helper<
- bidir_node_iterator<Node,Derived>,
+ bidir_node_iterator<Node>,
typename Node::value_type,
std::ptrdiff_t,
const typename Node::value_type*,
@@ -96,10 +96,10 @@
Node* node;
};
-template<typename Node,typename Derived>
+template<typename Node>
bool operator==(
- const bidir_node_iterator<Node,Derived>& x,
- const bidir_node_iterator<Node,Derived>& y)
+ const bidir_node_iterator<Node>& x,
+ const bidir_node_iterator<Node>& y)
{
return x.get_node()==y.get_node();
}
Modified: branches/release/boost/multi_index/detail/bucket_array.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/bucket_array.hpp (original)
+++ branches/release/boost/multi_index/detail/bucket_array.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -90,7 +90,7 @@
hashed_index_node_impl<
typename boost::detail::allocator::rebind_to<
Allocator,
- void
+ char
>::type
>
>::type node_impl_type;
Modified: branches/release/boost/multi_index/detail/converter.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/converter.hpp (original)
+++ branches/release/boost/multi_index/detail/converter.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/copy_map.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/copy_map.hpp (original)
+++ branches/release/boost/multi_index/detail/copy_map.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/duplicates_iterator.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/duplicates_iterator.hpp (original)
+++ branches/release/boost/multi_index/detail/duplicates_iterator.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2006 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/has_tag.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/has_tag.hpp (original)
+++ branches/release/boost/multi_index/detail/has_tag.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/hash_index_args.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/hash_index_args.hpp (original)
+++ branches/release/boost/multi_index/detail/hash_index_args.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/hash_index_iterator.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/hash_index_iterator.hpp (original)
+++ branches/release/boost/multi_index/detail/hash_index_iterator.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -30,10 +30,10 @@
/* Iterator class for hashed indices.
*/
-template<typename Node,typename BucketArray,typename Derived=mpl::na>
+template<typename Node,typename BucketArray>
class hashed_index_iterator:
public forward_iterator_helper<
- hashed_index_iterator<Node,BucketArray,Derived>,
+ hashed_index_iterator<Node,BucketArray>,
typename Node::value_type,
std::ptrdiff_t,
const typename Node::value_type*,
@@ -94,10 +94,10 @@
BucketArray* buckets;
};
-template<typename Node,typename BucketArray,typename Derived>
+template<typename Node,typename BucketArray>
bool operator==(
- const hashed_index_iterator<Node,BucketArray,Derived>& x,
- const hashed_index_iterator<Node,BucketArray,Derived>& y)
+ const hashed_index_iterator<Node,BucketArray>& x,
+ const hashed_index_iterator<Node,BucketArray>& y)
{
return x.get_node()==y.get_node();
}
Modified: branches/release/boost/multi_index/detail/hash_index_node.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/hash_index_node.hpp (original)
+++ branches/release/boost/multi_index/detail/hash_index_node.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -47,12 +47,12 @@
/* algorithmic stuff */
- static void increment(pointer& x,pointer bbegin,pointer bbend)
+ static void increment(pointer& x,pointer bbegin,pointer bend)
{
std::less_equal<pointer> leq;
x=x->next();
- if(leq(bbegin,x)&&leq(x,bbend)){ /* bucket node */
+ if(leq(bbegin,x)&&leq(x,bend)){ /* bucket node */
do{
++x;
}while(x->next()==x);
@@ -96,7 +96,7 @@
hashed_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type
@@ -106,7 +106,7 @@
hashed_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type impl_type;
Modified: branches/release/boost/multi_index/detail/header_holder.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/header_holder.hpp (original)
+++ branches/release/boost/multi_index/detail/header_holder.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/index_base.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/index_base.hpp (original)
+++ branches/release/boost/multi_index/detail/index_base.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/index_loader.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/index_loader.hpp (original)
+++ branches/release/boost/multi_index/detail/index_loader.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/index_matcher.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/index_matcher.hpp (original)
+++ branches/release/boost/multi_index/detail/index_matcher.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/index_node_base.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/index_node_base.hpp (original)
+++ branches/release/boost/multi_index/detail/index_node_base.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/index_saver.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/index_saver.hpp (original)
+++ branches/release/boost/multi_index/detail/index_saver.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/invariant_assert.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/invariant_assert.hpp (original)
+++ branches/release/boost/multi_index/detail/invariant_assert.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/is_index_list.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/is_index_list.hpp (original)
+++ branches/release/boost/multi_index/detail/is_index_list.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/iter_adaptor.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/iter_adaptor.hpp (original)
+++ branches/release/boost/multi_index/detail/iter_adaptor.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/modify_key_adaptor.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/modify_key_adaptor.hpp (original)
+++ branches/release/boost/multi_index/detail/modify_key_adaptor.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/msvc_index_specifier.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/msvc_index_specifier.hpp (original)
+++ branches/release/boost/multi_index/detail/msvc_index_specifier.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/no_duplicate_tags.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/no_duplicate_tags.hpp (original)
+++ branches/release/boost/multi_index/detail/no_duplicate_tags.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/node_type.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/node_type.hpp (original)
+++ branches/release/boost/multi_index/detail/node_type.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/ord_index_args.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/ord_index_args.hpp (original)
+++ branches/release/boost/multi_index/detail/ord_index_args.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/ord_index_node.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/ord_index_node.hpp (original)
+++ branches/release/boost/multi_index/detail/ord_index_node.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -562,7 +562,7 @@
ordered_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type
@@ -572,7 +572,7 @@
ordered_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type impl_type;
Modified: branches/release/boost/multi_index/detail/ord_index_ops.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/ord_index_ops.hpp (original)
+++ branches/release/boost/multi_index/detail/ord_index_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/prevent_eti.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/prevent_eti.hpp (original)
+++ branches/release/boost/multi_index/detail/prevent_eti.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/rnd_index_loader.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/rnd_index_loader.hpp (original)
+++ branches/release/boost/multi_index/detail/rnd_index_loader.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -50,7 +50,7 @@
random_access_index_node_impl<
typename boost::detail::allocator::rebind_to<
Allocator,
- void
+ char
>::type
>
>::type node_impl_type;
Modified: branches/release/boost/multi_index/detail/rnd_index_node.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/rnd_index_node.hpp (original)
+++ branches/release/boost/multi_index/detail/rnd_index_node.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -186,7 +186,7 @@
random_access_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type
@@ -196,7 +196,7 @@
random_access_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type impl_type;
Modified: branches/release/boost/multi_index/detail/rnd_index_ops.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/rnd_index_ops.hpp (original)
+++ branches/release/boost/multi_index/detail/rnd_index_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/rnd_index_ptr_array.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/rnd_index_ptr_array.hpp (original)
+++ branches/release/boost/multi_index/detail/rnd_index_ptr_array.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -38,7 +38,7 @@
random_access_index_node_impl<
typename boost::detail::allocator::rebind_to<
Allocator,
- void
+ char
>::type
>
>::type node_impl_type;
Modified: branches/release/boost/multi_index/detail/rnd_node_iterator.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/rnd_node_iterator.hpp (original)
+++ branches/release/boost/multi_index/detail/rnd_node_iterator.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -29,10 +29,10 @@
/* Iterator class for node-based indices with random access iterators. */
-template<typename Node,typename Derived=mpl::na>
+template<typename Node>
class rnd_node_iterator:
public random_access_iterator_helper<
- rnd_node_iterator<Node,Derived>,
+ rnd_node_iterator<Node>,
typename Node::value_type,
std::ptrdiff_t,
const typename Node::value_type*,
@@ -106,26 +106,26 @@
Node* node;
};
-template<typename Node,typename Derived>
+template<typename Node>
bool operator==(
- const rnd_node_iterator<Node,Derived>& x,
- const rnd_node_iterator<Node,Derived>& y)
+ const rnd_node_iterator<Node>& x,
+ const rnd_node_iterator<Node>& y)
{
return x.get_node()==y.get_node();
}
-template<typename Node,typename Derived>
+template<typename Node>
bool operator<(
- const rnd_node_iterator<Node,Derived>& x,
- const rnd_node_iterator<Node,Derived>& y)
+ const rnd_node_iterator<Node>& x,
+ const rnd_node_iterator<Node>& y)
{
return Node::distance(x.get_node(),y.get_node())>0;
}
-template<typename Node,typename Derived>
+template<typename Node>
std::ptrdiff_t operator-(
- const rnd_node_iterator<Node,Derived>& x,
- const rnd_node_iterator<Node,Derived>& y)
+ const rnd_node_iterator<Node>& x,
+ const rnd_node_iterator<Node>& y)
{
return Node::distance(y.get_node(),x.get_node());
}
Modified: branches/release/boost/multi_index/detail/safe_ctr_proxy.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/safe_ctr_proxy.hpp (original)
+++ branches/release/boost/multi_index/detail/safe_ctr_proxy.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2006 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/safe_mode.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/safe_mode.hpp (original)
+++ branches/release/boost/multi_index/detail/safe_mode.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2006 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/scope_guard.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/scope_guard.hpp (original)
+++ branches/release/boost/multi_index/detail/scope_guard.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/seq_index_node.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/seq_index_node.hpp (original)
+++ branches/release/boost/multi_index/detail/seq_index_node.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -141,7 +141,7 @@
sequenced_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type
@@ -151,7 +151,7 @@
sequenced_index_node_impl<
typename boost::detail::allocator::rebind_to<
typename Super::allocator_type,
- void
+ char
>::type
>
>::type impl_type;
Modified: branches/release/boost/multi_index/detail/seq_index_ops.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/seq_index_ops.hpp (original)
+++ branches/release/boost/multi_index/detail/seq_index_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/uintptr_type.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/uintptr_type.hpp (original)
+++ branches/release/boost/multi_index/detail/uintptr_type.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/unbounded.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/unbounded.hpp (original)
+++ branches/release/boost/multi_index/detail/unbounded.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/detail/value_compare.hpp
==============================================================================
--- branches/release/boost/multi_index/detail/value_compare.hpp (original)
+++ branches/release/boost/multi_index/detail/value_compare.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/global_fun.hpp
==============================================================================
--- branches/release/boost/multi_index/global_fun.hpp (original)
+++ branches/release/boost/multi_index/global_fun.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/hashed_index.hpp
==============================================================================
--- branches/release/boost/multi_index/hashed_index.hpp (original)
+++ branches/release/boost/multi_index/hashed_index.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -808,39 +808,30 @@
bool modify_(node_type* x)
{
- unlink(x);
-
- std::size_t buc;
- node_impl_pointer pos;
- BOOST_TRY
- {
+ std::size_t buc;
+ bool b;
+ BOOST_TRY{
buc=find_bucket(x->value());
- pos=buckets.at(buc);
- if(!link_point(x->value(),pos,Category())){
- first_bucket=buckets.first_nonempty(first_bucket);
- super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
- detach_iterators(x);
-#endif
- return false;
- }
-
+ b=in_place(x->impl(),key(x->value()),buc,Category());
}
BOOST_CATCH(...){
- first_bucket=buckets.first_nonempty(first_bucket);
- super::erase_(x);
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
- detach_iterators(x);
-#endif
-
+ erase_(x);
BOOST_RETHROW;
}
BOOST_CATCH_END
+ if(!b){
+ unlink(x);
+ BOOST_TRY{
+ node_impl_pointer pos=buckets.at(buc);
+ if(!link_point(x->value(),pos,Category())){
+ first_bucket=buckets.first_nonempty(first_bucket);
+ super::erase_(x);
- BOOST_TRY{
- if(super::modify_(x)){
+#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
+ detach_iterators(x);
+#endif
+ return false;
+ }
link(x,pos);
if(first_bucket>buc){
first_bucket=buc;
@@ -848,17 +839,33 @@
else if(first_bucket<buc){
first_bucket=buckets.first_nonempty(first_bucket);
}
- return true;
}
-
- first_bucket=buckets.first_nonempty(first_bucket);
+ BOOST_CATCH(...){
+ first_bucket=buckets.first_nonempty(first_bucket);
+ super::erase_(x);
#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
detach_iterators(x);
#endif
- return false;
+
+ BOOST_RETHROW;
+ }
+ BOOST_CATCH_END
+ }
+
+ BOOST_TRY{
+ if(!super::modify_(x)){
+ unlink(x);
+ first_bucket=buckets.first_nonempty(first_bucket);
+#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
+ detach_iterators(x);
+#endif
+ return false;
+ }
+ else return true;
}
BOOST_CATCH(...){
+ unlink(x);
first_bucket=buckets.first_nonempty(first_bucket);
#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
@@ -872,11 +879,15 @@
bool modify_rollback_(node_type* x)
{
+ std::size_t buc=find_bucket(x->value());
+ if(in_place(x->impl(),key(x->value()),buc,Category())){
+ return super::modify_rollback_(x);
+ }
+
node_impl_pointer y=prev(x);
unlink_next(y);
BOOST_TRY{
- std::size_t buc=find_bucket(x->value());
node_impl_pointer pos=buckets.at(buc);
if(link_point(x->value(),pos,Category())&&super::modify_rollback_(x)){
link(x,pos);
@@ -993,17 +1004,17 @@
return true;
}
- void link(node_type* x,node_impl_pointer pos)
+ static void link(node_type* x,node_impl_pointer pos)
{
node_impl_type::link(x->impl(),pos);
};
- void link(node_impl_pointer x,node_impl_pointer pos)
+ static void link(node_impl_pointer x,node_impl_pointer pos)
{
node_impl_type::link(x,pos);
};
- void unlink(node_type* x)
+ static void unlink(node_type* x)
{
node_impl_type::unlink(x->impl());
};
@@ -1013,6 +1024,11 @@
return node_impl_type::prev(x->impl());
}
+ static node_impl_pointer prev_from(node_type* x,node_impl_pointer y)
+ {
+ return node_impl_type::prev_from(x->impl(),y);
+ }
+
static void unlink_next(node_impl_pointer x)
{
node_impl_type::unlink_next(x);
@@ -1069,6 +1085,68 @@
first_bucket=buckets.first_nonempty(0);
}
+ bool in_place(
+ node_impl_pointer x,key_param_type k,std::size_t buc,
+ hashed_unique_tag)const
+ {
+ std::less_equal<node_impl_pointer> leq;
+ node_impl_pointer bbegin=buckets.begin();
+ node_impl_pointer bend=buckets.end();
+ node_impl_pointer pbuc=x->next();
+
+ while(!leq(bbegin,pbuc)||!leq(pbuc,bend))pbuc=pbuc->next();
+ if(buc!=static_cast<std::size_t>(pbuc-bbegin))return false;
+
+ node_impl_pointer y=x;
+ while(y->next()!=x){
+ y=y->next();
+ if(y==pbuc)continue;
+ if(eq(k,key(node_type::from_impl(y)->value())))return false;
+ }
+ return true;
+ }
+
+ bool in_place(
+ node_impl_pointer x,key_param_type k,std::size_t buc,
+ hashed_non_unique_tag)const
+ {
+ std::less_equal<node_impl_pointer> leq;
+ node_impl_pointer bbegin=buckets.begin();
+ node_impl_pointer bend=buckets.end();
+ node_impl_pointer pbuc=x->next();
+
+ while(!leq(bbegin,pbuc)||!leq(pbuc,bend))pbuc=pbuc->next();
+ if(buc!=static_cast<std::size_t>(pbuc-bbegin))return false;
+
+ node_impl_pointer y=x->next();
+ if(y!=pbuc){
+ if(eq(k,key(node_type::from_impl(y)->value()))){
+ /* adjacent to equivalent element -> in place */
+ return true;
+ }
+ else{
+ y=y->next();
+ while(y!=pbuc){
+ if(eq(k,key(node_type::from_impl(y)->value())))return false;
+ y=y->next();
+ }
+ }
+ }
+ while(y->next()!=x){
+ y=y->next();
+ if(eq(k,key(node_type::from_impl(y)->value()))){
+ while(y->next()!=x){
+ y=y->next();
+ if(!eq(k,key(node_type::from_impl(y)->value())))return false;
+ }
+ /* after a group of equivalent elements --> in place */
+ return true;
+ }
+ }
+ return true;
+ }
+
+
#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
void detach_iterators(node_type* x)
{
Modified: branches/release/boost/multi_index/hashed_index_fwd.hpp
==============================================================================
--- branches/release/boost/multi_index/hashed_index_fwd.hpp (original)
+++ branches/release/boost/multi_index/hashed_index_fwd.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/identity.hpp
==============================================================================
--- branches/release/boost/multi_index/identity.hpp (original)
+++ branches/release/boost/multi_index/identity.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2006 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/identity_fwd.hpp
==============================================================================
--- branches/release/boost/multi_index/identity_fwd.hpp (original)
+++ branches/release/boost/multi_index/identity_fwd.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/indexed_by.hpp
==============================================================================
--- branches/release/boost/multi_index/indexed_by.hpp (original)
+++ branches/release/boost/multi_index/indexed_by.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/key_extractors.hpp
==============================================================================
--- branches/release/boost/multi_index/key_extractors.hpp (original)
+++ branches/release/boost/multi_index/key_extractors.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/mem_fun.hpp
==============================================================================
--- branches/release/boost/multi_index/mem_fun.hpp (original)
+++ branches/release/boost/multi_index/mem_fun.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/member.hpp
==============================================================================
--- branches/release/boost/multi_index/member.hpp (original)
+++ branches/release/boost/multi_index/member.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2006 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/ordered_index.hpp
==============================================================================
--- branches/release/boost/multi_index/ordered_index.hpp (original)
+++ branches/release/boost/multi_index/ordered_index.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/ordered_index_fwd.hpp
==============================================================================
--- branches/release/boost/multi_index/ordered_index_fwd.hpp (original)
+++ branches/release/boost/multi_index/ordered_index_fwd.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/random_access_index.hpp
==============================================================================
--- branches/release/boost/multi_index/random_access_index.hpp (original)
+++ branches/release/boost/multi_index/random_access_index.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/random_access_index_fwd.hpp
==============================================================================
--- branches/release/boost/multi_index/random_access_index_fwd.hpp (original)
+++ branches/release/boost/multi_index/random_access_index_fwd.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/safe_mode_errors.hpp
==============================================================================
--- branches/release/boost/multi_index/safe_mode_errors.hpp (original)
+++ branches/release/boost/multi_index/safe_mode_errors.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2006 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/sequenced_index.hpp
==============================================================================
--- branches/release/boost/multi_index/sequenced_index.hpp (original)
+++ branches/release/boost/multi_index/sequenced_index.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2007 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/sequenced_index_fwd.hpp
==============================================================================
--- branches/release/boost/multi_index/sequenced_index_fwd.hpp (original)
+++ branches/release/boost/multi_index/sequenced_index_fwd.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index/tag.hpp
==============================================================================
--- branches/release/boost/multi_index/tag.hpp (original)
+++ branches/release/boost/multi_index/tag.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/boost/multi_index_container.hpp
==============================================================================
--- branches/release/boost/multi_index_container.hpp (original)
+++ branches/release/boost/multi_index_container.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Multiply indexed container.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -193,6 +193,14 @@
BOOST_MULTI_INDEX_CHECK_INVARIANT;
}
+ explicit multi_index_container(const allocator_type& al):
+ bfm_allocator(al),
+ super(ctor_args_list(),bfm_allocator::member),
+ node_count(0)
+ {
+ BOOST_MULTI_INDEX_CHECK_INVARIANT;
+ }
+
template<typename InputIterator>
multi_index_container(
InputIterator first,InputIterator last,
Modified: branches/release/boost/multi_index_container_fwd.hpp
==============================================================================
--- branches/release/boost/multi_index_container_fwd.hpp (original)
+++ branches/release/boost/multi_index_container_fwd.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2005 Joaquín M López Muñoz.
+/* Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/doc/acknowledgements.html
==============================================================================
--- branches/release/libs/multi_index/doc/acknowledgements.html (original)
+++ branches/release/libs/multi_index/doc/acknowledgements.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -160,6 +160,18 @@
include guard bug present from the first release of the library.
</p>
+<h2><a name="boost_1_36">Boost 1.36 release</a></h2>
+
+<p>
+Thanks to Amit Jain for reporting a problem with allocator management.
+Michael Fawcett proposed the addition of an allocator constructor to
+<code>multi_index_container</code>.
+A report from Zachary Zhou has led to
+<a href="release_notes.html#stable_update">enhancing the behavior of
+hashed indices update functions</a> so that they meet some intuitive expectations.
+Grzegorz Jakacki spotted some internal dead code.
+</p>
+
<hr>
<div class="prev_link"><a href="release_notes.html"><img src="prev.gif" alt="release notes" border="0"><br>
@@ -173,9 +185,9 @@
<br>
-<p>Revised September 3rd 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/doc/compiler_specifics.html
==============================================================================
--- branches/release/libs/multi_index/doc/compiler_specifics.html (original)
+++ branches/release/libs/multi_index/doc/compiler_specifics.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -37,7 +37,7 @@
<ul>
<li>Borland C++ Builder 6.4 and later</li>
- <li>Comeau C/C++ 4.3.3 for Windows (VC++ 7.0/7.1 backend)</li>
+ <li>Comeau C/C++ 4.3.10.1 for Windows (VC++ 9.0 backend)</li>
<li>Compaq C++ 6.5-042 for Tru64 UNIX and later</li>
<li>
<a href="#gcc_32">GNU GCC 3.2 and later</a>
@@ -46,14 +46,14 @@
<li>Darwin GCC 4.0</li>
</ul>
</li>
- <li>HP aC++ A.06.12 for HP-UX and later</li>
+ <li>HP aC++ A.06.12 for HP-UX IA64 and later</li>
+ <li>HP aC++ A.03.80 for HP-UX PA-RISC</li>
<li>IBM VisualAge C++ V6.0 for AIX</li>
<li>IBM VisualAge C++ V9.0 for AIX</li>
<li>Intel C++ Compiler for Linux 8.1 and later</li>
<li>Intel C++ Compiler for Mac OS 9.1 and later</li>
- <li>Intel C++ Compiler for Windows 32-bit 7.0/7.1</li>
<li>Intel C++ Compiler for Windows 32-bit 8.0 and later</li>
- <li>Intel C++ Compiler for Windows 64-bit 10.0</li>
+ <li>Intel C++ Compiler for Windows 64-bit 10.0 and later</li>
<li>Metrowerks CodeWarrior 8.3</li>
<li>Metrowerks CodeWarrior 9 and later</li>
<li>
@@ -68,20 +68,9 @@
<li>Microsoft Visual C++ 7.0 + STLport 5.0.1</li>
</ul>
</li>
- <li>
- Microsoft Visual C++ 7.1
- <ul>
- <li>Microsoft Visual C++ 7.1 + STLport 4.6.2</li>
- </ul>
- </li>
- <li>
- Microsoft Visual C++ 8.0
- <ul>
- <li>Microsoft Visual C++ 8.0 + STLport 5.0.1</li>
- </ul>
- </li>
- <li>Microsoft Visual C++ 8.0 x64 cross-compiler</li>
- <li>Microsoft Visual C++ 9.0</li>
+ <li>Microsoft Visual C++ 7.1</li>
+ <li>Microsoft Visual C++ 8.0 and later</li>
+ <li>Microsoft Visual C++ 8.0 x64 cross-compiler and later</li>
<li>Sun Studio 10 for Solaris and later</li>
<li>Portability techniques
<ul>
@@ -109,15 +98,13 @@
future versions of the library can be made to work under these compilers.
</p>
-<h2><a name="comeau_433_win_vc7_71">Comeau C/C++ 4.3.3 for Windows (VC++ 7.0/7.1 backend)</a></h2>
-
-<p>
-<b>Note:</b> Last tested in Boost 1.34.1. The information might be no longer accurate.
-</p>
+<h2><a name="comeau_43101_win_vc7_71">Comeau C/C++ 4.3.10.1 for Windows (VC++ 9.0 backend)</a></h2>
<p>
No problems have been detected with this compiler. The library fails to compile,
-however, when Microsoft Visual C++ 6.0 is used as the backend.
+however, when Microsoft Visual C++ 6.0 is used as the backend. Last time they were
+tested (Boost.1.34.1), VC++ 7.0/7.1 backends worked correctly. The beta 2 version of
+the Comeau compiler 4.3.10.1 has been used.
</p>
<h2><a name="compaq_65">Compaq C++ 6.5-042 for Tru64 UNIX and later</a></h2>
@@ -133,18 +120,15 @@
starting from 3.2. The following versions have been explicitly tested:
<ul>
<li>GCC 3.2 20020927 (prerelease) under Cygwin 1.5.7,</li>
- <li>GCC 3.3.6 under Linux,</li>
- <li>GCC 3.4.2 under HP-UX IA64,</li>
+ <li>GCC 3.4.2 under HP-UX PA-RISC,</li>
<li>GCC 3.4.3 under Linux x86-64,</li>
- <li>GCC 3.4.4 under Linux, (cygming special) under Cygwin 1.5.22,</li>
- <li>GCC 3.4.5 (mingw special) under Win32,</li>
- <li>GCC 3.4.6 under Linux x86-64 and Solaris,</li>
- <li>GCC 4.0.1 under Linux x86-64, (Apple builds 5363, 5367 and 5465) under Mac OS,</li>
- <li>GCC 4.1.1 under Linux x86-64,</li>
- <li>GCC 4.1.2 (OpenPKG-CURRENT) under Solaris,</li>
- <li>GCC 4.2.1 under HP-UX IA64 and Linux x86-64, (mingw32-2) under Win32,</li>
- <li>GCC 4.2.2 under Linux and Linux x86-64,</li>
- <li>GCC 4.3.0 20080206 (experimental) under Linux.</li>
+ <li>GCC 3.4.6 under Solaris, 20060404 (Red Hat 3.4.6-3) under Linux IA64,</li>
+ <li>GCC 4.0.1 under Linux x86-64, (Apple build 5363) under Mac OS,</li>
+ <li>GCC 4.1.1 20070105 (Red Hat 4.1.1-52) under Linux x86-64,</li>
+ <li>GCC 4.2.1 under HP-UX IA64 and Linux x86-64, (SUSE Linux) under Linux,</li>
+ <li>GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7) under Linux and Linux x86-64,</li>
+ <li>GCC 4.3.0 under Linux x86-64, with Apache C++ Standard Library 4.2.2 under Linux and Linux x86-64,</li>
+ <li>GCC 4.3.0 gnu++0x under Linux x86-64.</li>
</ul>
Boost.MultiIndex does not work with versions 3.1 and prior of GCC.
</p>
@@ -177,13 +161,19 @@
upgrade.
</p>
-<h2><a name="acc_612">HP aC++ A.06.12 for HP-UX and later</a></h2>
+<h2><a name="acc_612_ia64">HP aC++ A.06.12 for HP-UX IA64 and later</a></h2>
<p>
No problems have been detected with this compiler.
Last tested for version A.06.14.
</p>
+<h2><a name="acc_380_pa_risc">HP aC++ A.03.80 for HP-UX PA-RISC</a></h2>
+
+<p>
+No problems have been detected with this compiler.
+</p>
+
<h2><a name="va_60">IBM VisualAge C++ V6.0 for AIX</a></h2>
<p>
@@ -221,6 +211,10 @@
<h2><a name="va_90">IBM VisualAge C++ V9.0 for AIX</a></h2>
<p>
+<b>Note:</b> Last tested in Boost 1.35. The information might be no longer accurate.
+</p>
+
+<p>
<a href="reference/key_extraction.html#member"><code>member</code></a> not supported,
refer to the section on
<a href="#member_offset">use of <code>member_offset</code></a> for workarounds.
@@ -244,32 +238,14 @@
<p>
No problems have been detected with this compiler.
-Tested from version 8.1 to 10.1.
+Tested from version 8.1 to 10.0.
</p>
<h2><a name="intel_91_mac">Intel C++ Compiler for Mac OS 9.1 and later</a></h2>
<p>
No problems have been detected with this compiler.
-Last tested for versions 9.1 and 10.0.
-</p>
-
-<h2><a name="intel_7x_win">Intel C++ Compiler for Windows 32-bit 7.0/7.1</a></h2>
-
-<p>
-member
not supported,
-refer to the section on
-use of member_offset
for workarounds.
-</p>
-
-<blockquote><hr></blockquote>
-
-<p>
-When used on top of MSVC++ 7.0 or prior, argument dependent lookup is
-disabled by default. This will cause problems with many Boost libraries,
-and in particular with the serialization part of Boost.MultiIndex.
-Argument dependent lookup is enabled by adding
-<code>/Qoption,c,--arg_dep_lookup</code> to the project options.
+Tested from version 9.1 to 10.1.
</p>
<h2><a name="intel_80_win">Intel C++ Compiler for Windows 32-bit 8.0 and later</a></h2>
@@ -281,13 +257,14 @@
Argument dependent lookup is enabled by adding
<code>/Qoption,c,--arg_dep_lookup</code> to the project options.
Other than this, Boost.MultiIndex works without problems.
-Last tested for compiler version 10.0.
+Last tested for compiler version 10.1.
</p>
-<h2><a name="intel_100_win64">Intel C++ Compiler for Windows 64-bit 10.0</a></h2>
+<h2><a name="intel_100_win64">Intel C++ Compiler for Windows 64-bit 10.0 and later</a></h2>
<p>
No problems have been detected with this compiler.
+Last tested for compiler version 10.1.
</p>
<h2><a name="cw_83">Metrowerks CodeWarrior 8.3</a></h2>
@@ -322,12 +299,19 @@
<p>
Boost.MultiIndex works correctly with versions of this compiler from 9.0 to
-9.5, under the two operating systems tested: Mac OS and Windows.
+9.5, both under Mac OS and Windows.
</p>
<h2><a name="msvc_60">Microsoft Visual C++ 6.0 Service Pack 5</a></h2>
<p>
+Beginning with Boost.1.36, Boost.Serialization is no longer supported in this
+compiler, thus the serialization capabilities cannot be used.
+</p>
+
+<blockquote><hr></blockquote>
+
+<p>
<a href="reference/key_extraction.html#member"><code>member</code></a> not supported,
refer to the section on
<a href="#member_offset">use of <code>member_offset</code></a> for workarounds.
@@ -533,15 +517,20 @@
5.0.1 has also been confirmed to work correctly.
</p>
+<h2><a name="msvc_70">Microsoft Visual C++ 7.0</a></h2>
+
+<p>
+<b>Note:</b> Last tested in Boost 1.35. The information might be no longer accurate.
+</p>
+
<blockquote><hr></blockquote>
<p>
-It is not possible to use the serialization capabilities of Boost.MultiIndex
-along with the dynamic version of STLport, as some linking errors result.
-Use instead the static version of STLport. This bug is fixed in STLport 5.0.
+Beginning with Boost.1.36, Boost.Serialization is no longer supported in this
+compiler, thus the serialization capabilities cannot be used.
</p>
-<h2><a name="msvc_70">Microsoft Visual C++ 7.0</a></h2>
+<blockquote><hr></blockquote>
<p>
<a href="reference/key_extraction.html#member"><code>member</code></a> not supported,
@@ -639,6 +628,10 @@
<h3><a name="msvc_70_stlport_501">Microsoft Visual C++ 7.0 + STLport 5.0.1</a></h3>
<p>
+<b>Note:</b> Last tested in Boost 1.35. The information might be no longer accurate.
+</p>
+
+<p>
Boost.MultiIndex works for this configuration. The same issues apply as in
MSVC++ 7.0 with its original Dinkumware standard library.
</p>
@@ -655,35 +648,18 @@
without further problems.
</p>
-<h3><a name="msvc_71_stlport_462">Microsoft Visual C++ 7.1 + STLport 4.6.2</a></h3>
-
-<p>
-Boost.MultiIndex works for this configuration. The same issues apply as in
-MSVC++ 7.1 with its original Dinkumware standard library.
-</p>
-
-<h2><a name="msvc_80">Microsoft Visual C++ 8.0</a></h2>
-
-<p>
-No problems have been detected with this compiler.
-</p>
-
-<h3><a name="msvc_80_stlport_501">Microsoft Visual C++ 8.0 + STLport 5.0.1</a></h3>
-
-<p>
-No problems have been detected with this configuration.
-</p>
-
-<h2><a name="msvc_80_x86_amd64">Microsoft Visual C++ 8.0 x64 cross-compiler</a></h2>
+<h2><a name="msvc_80">Microsoft Visual C++ 8.0 and later</a></h2>
<p>
No problems have been detected with this compiler.
+Last tested for compiler versions 8.0 and 9.0.
</p>
-<h2><a name="msvc_90">Microsoft Visual C++ 9.0</a></h2>
+<h2><a name="msvc_80_x86_amd64">Microsoft Visual C++ 8.0 x64 cross-compiler and later</a></h2>
<p>
No problems have been detected with this compiler.
+Last tested for compiler version 9.0.
</p>
<h2><a name="sun_10">Sun Studio 10 for Solaris and later</a></h2>
@@ -1012,7 +988,7 @@
</pre></blockquote>
<p>
-Then, for instance, the type <code>employee_set::nth_type<0>::type</code>
+Then, for instance, the type <code>employee_set::nth_index<0>::type</code>
resolves to the following in GCC:
</p>
@@ -1075,7 +1051,7 @@
<code>employee_set_indices</code> works as a conventional <code>typedef</code>
in all respects, save for a detail: its name does not explicitly
include the information contained in the <code>indexed_by</code> instantiation.
-Applying this technique, <code>employee_set::nth_type<0>::type</code>
+Applying this technique, <code>employee_set::nth_index<0>::type</code>
now becomes:
</p>
@@ -1121,7 +1097,7 @@
<br>
-<p>Revised February 7th 2008</p>
+<p>Revised July 3rd 2008</p>
<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
Modified: branches/release/libs/multi_index/doc/reference/hash_indices.html
==============================================================================
--- branches/release/libs/multi_index/doc/reference/hash_indices.html (original)
+++ branches/release/libs/multi_index/doc/reference/hash_indices.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -452,11 +452,11 @@
<h4><a name="iterators">Iterators</a></h4>
-<code>iterator iterator_to(const value_type& x);</br>
+<code>iterator iterator_to(const value_type& x);<br>
const_iterator iterator_to(const value_type& x)const;</code>
<blockquote>
-<b>Requires:</b> <code>x</code> is a reference to an element of the container.</br>
+<b>Requires:</b> <code>x</code> is a reference to an element of the container.<br>
<b>Returns:</b> An iterator to <code>x</code>.<br>
<b>Complexity:</b> Constant.<br>
<b>Exception safety:</b> <code>nothrow</code>.<br>
@@ -487,7 +487,7 @@
<code>iterator insert(iterator position,const value_type& x);</code>
<blockquote>
-<b>Requires:</b> <code>position</code> is a valid iterator of the index.</br>
+<b>Requires:</b> <code>position</code> is a valid iterator of the index.<br>
<b>Effects:</b> Inserts <code>x</code> into the <code>multi_index_container</code> to which
the index belongs if
<ul>
@@ -516,7 +516,7 @@
<code>value_type</code> or a type convertible to <code>value_type</code>.
<code>first</code> and <code>last</code> are not iterators into any
index of the <code>multi_index_container</code> to which this index belongs.
-<code>last</code> is reachable from <code>first</code>.</br>
+<code>last</code> is reachable from <code>first</code>.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=identifier>iterator</span> <span class=identifier>hint</span><span class=special>=</span><span class=identifier>end</span><span class=special>();</span>
@@ -532,7 +532,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Deletes the element pointed to by <code>position</code>.<br>
<b>Returns:</b> An iterator pointing to the element immediately following
the one that was deleted, or <code>end()</code>
@@ -568,7 +568,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Assigns the value <code>x</code> to the element pointed
to by <code>position</code> into the <code>multi_index_container</code> to which
the index belongs if, for the value <code>x</code>
@@ -579,7 +579,8 @@
<code>multi_index_container</code>.</li>
</ul>
<b>Postconditions:</b> Validity of <code>position</code> is preserved
-in all cases.<br>
+in all cases. If the key of the new value is equivalent to that of the replaced value,
+the position of the element does not change.<br>
<b>Returns:</b> <code>true</code> if the replacement took place,
<code>false</code> otherwise.<br>
<b>Complexity:</b> <code>O(R(n))</code>.<br>
@@ -596,7 +597,7 @@
<a href="http://www.sgi.com/tech/stl/UnaryFunction.html">
<code>Unary Function</code></a> accepting arguments of type
<code>value_type&</code>. <code>position</code> is a valid dereferenceable
-iterator of the index.</br>
+iterator of the index.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and rearranges <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement is successful if
@@ -608,7 +609,8 @@
</ul>
If the rearrangement fails, the element is erased.<br>
<b>Postconditions:</b> Validity of <code>position</code> is preserved if the
-operation succeeds.<br>
+operation succeeds. If the key of the modified value is equivalent to that of the original
+value, the position of the element does not change.<br>
<b>Returns:</b> <code>true</code> if the operation succeeded, <code>false</code>
otherwise.<br>
<b>Complexity:</b> <code>O(M(n))</code>.<br>
@@ -628,7 +630,7 @@
iterator of the index. The sequence of operations <code>mod(e)</code>,
<code>back(e)</code>, where <code>e</code> is the element
pointed to by <code>position</code>, restores all keys of the element
-to their original state.</br>
+to their original state.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and tries to rearrange <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement is successful if
@@ -641,7 +643,8 @@
If the rearrangement fails, <code>back(e)</code> is invoked and the
element is kept at its original position in all indices.<br>
<b>Postconditions:</b> Validity of <code>position</code> is preserved except if
-the element is erased under the conditions described below.<br>
+the element is erased under the conditions described below. If the key of the modified value
+is equivalent to that of the original value, the position of the element does not change.<br>
<b>Returns:</b> <code>true</code> if the operation succeeded, <code>false</code>
otherwise.<br>
<b>Complexity:</b> <code>O(M(n))</code>.<br>
@@ -662,7 +665,7 @@
<a href="http://www.sgi.com/tech/stl/UnaryFunction.html">
<code>Unary Function</code></a> accepting arguments of type
<code>key_type&</code>. <code>position</code> is a valid dereferenceable
-iterator of the index.</br>
+iterator of the index.<br>
<b>Effects:</b> Equivalent to <code>modify(position,mod')</code>,
with <code>mod'</code> defined in such a way that
<code>mod'(x)</code> is the same as <code>mod(key(x))</code>, where
@@ -682,7 +685,7 @@
iterator of the index.
The sequence of operations <code>mod(k)</code>,
<code>back(k)</code>, where <code>k</code> is the key of the element
-pointed to by <code>position</code>, restores k to its original state.</br>
+pointed to by <code>position</code>, restores k to its original state.<br>
<b>Effects:</b> Equivalent to <code>modify(position,mod',back')</code>,
with <code>mod'</code> and <code>back</code> defined in such a way that
<code>mod'(x)</code> is the same as <code>mod(key(x))</code> and
@@ -774,7 +777,7 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-(<code>hasher</code>, <code>key_equal</code>).</br>
+(<code>hasher</code>, <code>key_equal</code>).<br>
<b>Effects:</b> Returns a pointer to an element whose key is equivalent to
<code>x</code>, or <code>end()</code> if such an element does not exist.<br>
<b>Complexity:</b> Average case <code>O(1)</code> (constant), worst case
@@ -792,7 +795,7 @@
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleHash</code>,
<code>CompatiblePred</code>) is a compatible extension of
-(<code>hasher</code>, <code>key_equal</code>).</br>
+(<code>hasher</code>, <code>key_equal</code>).<br>
<b>Effects:</b> Returns a pointer to an element whose key is equivalent to
<code>x</code>, or <code>end()</code> if such an element does not exist.<br>
<b>Complexity:</b> Average case <code>O(1)</code> (constant), worst case
@@ -805,7 +808,7 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-(<code>hasher</code>, <code>key_equal</code>).</br>
+(<code>hasher</code>, <code>key_equal</code>).<br>
<b>Effects:</b> Returns the number of elements with key equivalent to <code>x</code>.<br>
<b>Complexity:</b> Average case <code>O(count(x))</code>, worst case
<code>O(n)</code>.<br>
@@ -822,7 +825,7 @@
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleHash</code>,
<code>CompatiblePred</code>) is a compatible extension of
-(<code>hasher</code>, <code>key_equal</code>).</br>
+(<code>hasher</code>, <code>key_equal</code>).<br>
<b>Effects:</b> Returns the number of elements with key equivalent to <code>x</code>.<br>
<b>Complexity:</b> Average case <code>O(count(x,hash,eq))</code>, worst case
<code>O(n)</code>.<br>
@@ -834,7 +837,7 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-(<code>hasher</code>, <code>key_equal</code>).</br>
+(<code>hasher</code>, <code>key_equal</code>).<br>
<b>Effects:</b> Returns a range containing all elements with keys equivalent
to <code>x</code> (and only those), or (<code>end()</code>,<code>end()</code>)
if no such elements exist.<br>
@@ -845,7 +848,7 @@
<code>template<<br>
typename CompatibleKey,typename CompatibleHash, typename CompatiblePred<br>
><br>
-std::pair<iterator,iterator> equal_range(</br>
+std::pair<iterator,iterator> equal_range(<br>
const CompatibleKey& x,<br>
const CompatibleHash& hash,const CompatiblePred& eq)const;
</code>
@@ -853,7 +856,7 @@
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleHash</code>,
<code>CompatiblePred</code>) is a compatible extension of
-(<code>hasher</code>, <code>key_equal</code>).</br>
+(<code>hasher</code>, <code>key_equal</code>).<br>
<b>Effects:</b> Returns a range containing all elements with keys equivalent
to <code>x</code> (and only those), or (<code>end()</code>,<code>end()</code>)
if no such elements exist.<br>
@@ -863,11 +866,11 @@
<h4><a name="bucket_interface">Bucket interface</a></h4>
-<code>local_iterator local_iterator_to(const value_type& x);</br>
+<code>local_iterator local_iterator_to(const value_type& x);<br>
const_local_iterator local_iterator_to(const value_type& x)const;</code>
<blockquote>
-<b>Requires:</b> <code>x</code> is a reference to an element of the container.</br>
+<b>Requires:</b> <code>x</code> is a reference to an element of the container.<br>
<b>Returns:</b> An iterator to <code>x</code>.<br>
<b>Complexity:</b> Constant.<br>
<b>Exception safety:</b> <code>nothrow</code>.<br>
@@ -977,9 +980,9 @@
<br>
-<p>Revised July 2nd 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/doc/reference/key_extraction.html
==============================================================================
--- branches/release/libs/multi_index/doc/reference/key_extraction.html (original)
+++ branches/release/libs/multi_index/doc/reference/key_extraction.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1228,7 +1228,7 @@
<blockquote>
<b>Requires:</b> <code>length(x)==length(y)</code>. The expression
<code>x<sub>i</sub>==y<sub>i</sub></code> is valid for all <code>i</code>
-in <code>[0,length(x))</code>.</br>
+in <code>[0,length(x))</code>.<br>
<b>Returns:</b> <code>true</code> if and only if
<blockquote>
<code>x<sub>i</sub>==y<sub>i</sub></code> for all <code>i</code>
@@ -1258,7 +1258,7 @@
<b>Requires:</b> The expressions
<code>x<sub>i</sub><y<sub>i</sub></code> and
<code>y<sub>i</sub><x<sub>i</sub></code> are valid for all <code>i</code>
-in <code>[0,min(length(x),length(y)))</code>.</br>
+in <code>[0,min(length(x),length(y)))</code>.<br>
<b>Returns:</b> <code>true</code> if and only if there exists some
<code>j</code> in the range <code>[0,min(length(x),length(y)))</code>
such that
@@ -1294,7 +1294,7 @@
<blockquote>
<b>Requires:</b> The expressions given below are valid (for the particular
-<code><b><i>OP</i></b></code> considered.)</br>
+<code><b><i>OP</i></b></code> considered.)<br>
<b>Returns:</b> <code>true</code> if and only if
<blockquote>
<code>!(x==y)</code> (<code><b><i>OP</i></b></code> is <code>!=</code>),<br>
@@ -1435,7 +1435,7 @@
<b>Requires:</b> <code>length(x)==length(y)</code>. The expressions
<code>key_eqs().get<i>()(x<sub>i</sub>,y<sub>i</sub>)</code> and
<code>key_eqs().get<i>()(y<sub>i</sub>,x<sub>i</sub>)</code>
-are valid for all <code>i</code> in <code>[0,length(x))</code>.</br>
+are valid for all <code>i</code> in <code>[0,length(x))</code>.<br>
<b>Returns:</b> <code>true</code> if and only
<blockquote>
<code>key_eqs().get<i>()(x<sub>i</sub>,y<sub>i</sub>)</code>
@@ -1683,7 +1683,7 @@
<code>key_comps().get<i>()(x<sub>i</sub>,y<sub>i</sub>)</code> and
<code>key_comps().get<i>()(y<sub>i</sub>,x<sub>i</sub>)</code>
are valid for all <code>i</code>
-in <code>[0,min(length(x),length(y)))</code>.</br>
+in <code>[0,min(length(x),length(y)))</code>.<br>
<b>Returns:</b> <code>true</code> if and only if there exists some
<code>j</code> in the range <code>[0,min(length(x),length(y)))</code>
such that
@@ -2263,9 +2263,9 @@
<br>
-<p>Revised August 2nd 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/doc/reference/multi_index_container.html
==============================================================================
--- branches/release/libs/multi_index/doc/reference/multi_index_container.html (original)
+++ branches/release/libs/multi_index/doc/reference/multi_index_container.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -278,6 +278,7 @@
<span class=keyword>explicit</span> <span class=identifier>multi_index_container</span><span class=special>(
</span><span class=keyword>const</span> <span class=identifier>ctor_args_list</span><span class=special>&</span> <span class=identifier>args_list</span><span class=special>=</span><span class=identifier>ctor_args_list</span><span class=special>(),
</span><span class=keyword>const</span> <span class=identifier>allocator_type</span><span class=special>&</span> <span class=identifier>al</span><span class=special>=</span><span class=identifier>allocator_type</span><span class=special>());</span>
+ <span class=keyword>explicit</span> <span class=identifier>multi_index_container</span><span class=special>(</span><span class=keyword>const</span> <span class=identifier>allocator_type</span><span class=special>&</span> <span class=identifier>al</span><span class=special>);</span>
<span class=keyword>template</span><span class=special><</span><span class=keyword>typename</span> <span class=identifier>InputIterator</span><span class=special>></span>
<span class=identifier>multi_index_container</span><span class=special>(</span>
<span class=identifier>InputIterator</span> <span class=identifier>first</span><span class=special>,</span><span class=identifier>InputIterator</span> <span class=identifier>last</span><span class=special>,</span>
@@ -609,7 +610,7 @@
<blockquote>
<code>index<Tag>::type</code> yields the type of the index which
-has <code>Tag</code> as an associated tag type.</br>
+has <code>Tag</code> as an associated tag type.<br>
<b>Requires:</b> Some index of the <code>multi_index_container</code> has <code>Tag</code>
as an associated tag type.
</blockquote>
@@ -645,7 +646,7 @@
<h4><a name="constructors">Constructors, copy and assignment</a></h4>
<code>explicit multi_index_container(<br>
- const ctor_args_list& comp=ctor_args_list(),<br>
+ const ctor_args_list& args_list=ctor_args_list(),<br>
const allocator_type& al=allocator_type());</code>
<blockquote>
@@ -654,6 +655,14 @@
<b>Complexity:</b> Constant.
</blockquote>
+<code>explicit multi_index_container(const allocator_type& al);</code>
+
+<blockquote>
+<b>Effects:</b> Constructs an empty <code>multi_index_container</code> using the
+specified allocator and the default value of <code>ctor_args_list</code>.<br>
+<b>Complexity:</b> Constant.
+</blockquote>
+
<code>template<typename InputIterator><br>
multi_index_container(<br>
InputIterator first,InputIterator last,<br>
@@ -665,7 +674,7 @@
<a href="http://www.sgi.com/tech/stl/InputIterator.html">
<code>Input Iterator</code></a> over elements of type
<code>Value</code> or a type convertible to <code>Value</code>.
-<code>last</code> is reachable from <code>first</code>.</br>
+<code>last</code> is reachable from <code>first</code>.<br>
<b>Effects:</b> Constructs and empty <code>multi_index_container</code> using the
specified argument list and allocator and fills it with
the elements in the range [<code>first</code>,<code>last</code>).
@@ -902,9 +911,9 @@
<br>
-<p>Revised July 17th 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/doc/reference/ord_indices.html
==============================================================================
--- branches/release/libs/multi_index/doc/reference/ord_indices.html (original)
+++ branches/release/libs/multi_index/doc/reference/ord_indices.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -462,11 +462,11 @@
<h4><a name="iterators">Iterators</a></h4>
-<code>iterator iterator_to(const value_type& x);</br>
+<code>iterator iterator_to(const value_type& x);<br>
const_iterator iterator_to(const value_type& x)const;</code>
<blockquote>
-<b>Requires:</b> <code>x</code> is a reference to an element of the container.</br>
+<b>Requires:</b> <code>x</code> is a reference to an element of the container.<br>
<b>Returns:</b> An iterator to <code>x</code>.<br>
<b>Complexity:</b> Constant.<br>
<b>Exception safety:</b> <code>nothrow</code>.<br>
@@ -497,7 +497,7 @@
<code>iterator insert(iterator position,const value_type& x);</code>
<blockquote>
-<b>Requires:</b> <code>position</code> is a valid iterator of the index.</br>
+<b>Requires:</b> <code>position</code> is a valid iterator of the index.<br>
<b>Effects:</b> Inserts <code>x</code> into the <code>multi_index_container</code> to which
the index belongs if
<ul>
@@ -526,7 +526,7 @@
<code>value_type</code> or a type convertible to <code>value_type</code>.
<code>first</code> and <code>last</code> are not iterators into any
index of the <code>multi_index_container</code> to which this index belongs.
-<code>last</code> is reachable from <code>first</code>.</br>
+<code>last</code> is reachable from <code>first</code>.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=identifier>iterator</span> <span class=identifier>hint</span><span class=special>=</span><span class=identifier>end</span><span class=special>();</span>
@@ -542,7 +542,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Deletes the element pointed to by <code>position</code>.<br>
<b>Returns:</b> An iterator pointing to the element immediately following
the one that was deleted, or <code>end()</code>
@@ -577,7 +577,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Assigns the value <code>x</code> to the element pointed
to by <code>position</code> into the <code>multi_index_container</code> to which
the index belongs if, for the value <code>x</code>
@@ -588,7 +588,8 @@
<code>multi_index_container</code>.</li>
</ul>
<b>Postconditions:</b> Validity of <code>position</code> is preserved
-in all cases.<br>
+in all cases. If the key of the new value is equivalent to that of the
+replaced value, the position of the element does not change.<br>
<b>Returns:</b> <code>true</code> if the replacement took place,
<code>false</code> otherwise.<br>
<b>Complexity:</b> <code>O(R(n))</code>.<br>
@@ -605,7 +606,7 @@
<a href="http://www.sgi.com/tech/stl/UnaryFunction.html">
<code>Unary Function</code></a> accepting arguments of type
<code>value_type&</code>. <code>position</code> is a valid dereferenceable
-iterator of the index.</br>
+iterator of the index.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and rearranges <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement is successful if
@@ -617,7 +618,8 @@
</ul>
If the rearrangement fails, the element is erased.<br>
<b>Postconditions:</b> Validity of <code>position</code> is preserved if the
-operation succeeds.<br>
+operation succeeds. If the key of the modified value is equivalent to that of the
+original value, the position of the element does not change.<br>
<b>Returns:</b> <code>true</code> if the operation succeeded, <code>false</code>
otherwise.<br>
<b>Complexity:</b> <code>O(M(n))</code>.<br>
@@ -637,7 +639,7 @@
iterator of the index. The sequence of operations <code>mod(e)</code>,
<code>back(e)</code>, where <code>e</code> is the element
pointed to by <code>position</code>, restores all keys of the element
-to their original state.</br>
+to their original state.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and tries to rearrange <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement is successful if
@@ -650,7 +652,9 @@
If the rearrangement fails, <code>back(e)</code> is invoked and the
element is kept at its original position in all indices.<br>
<b>Postconditions:</b> Validity of <code>position</code> is preserved except if
-the element is erased under the conditions described below.<br>
+the element is erased under the conditions described below.
+If the key of the modified value is equivalent to that of the
+original value, the position of the element does not change.<br>
<b>Returns:</b> <code>true</code> if the operation succeeded, <code>false</code>
otherwise.<br>
<b>Complexity:</b> <code>O(M(n))</code>.<br>
@@ -671,7 +675,7 @@
<a href="http://www.sgi.com/tech/stl/UnaryFunction.html">
<code>Unary Function</code></a> accepting arguments of type
<code>key_type&</code>. <code>position</code> is a valid dereferenceable
-iterator of the index.</br>
+iterator of the index.<br>
<b>Effects:</b> Equivalent to <code>modify(position,mod')</code>,
with <code>mod'</code> defined in such a way that
<code>mod'(x)</code> is the same as <code>mod(key(x))</code>, where
@@ -691,7 +695,7 @@
iterator of the index.
The sequence of operations <code>mod(k)</code>,
<code>back(k)</code>, where <code>k</code> is the key of the element
-pointed to by <code>position</code>, restores k to its original state.</br>
+pointed to by <code>position</code>, restores k to its original state.<br>
<b>Effects:</b> Equivalent to <code>modify(position,mod',back')</code>,
with <code>mod'</code> and <code>back</code> defined in such a way that
<code>mod'(x)</code> is the same as <code>mod(key(x))</code> and
@@ -779,7 +783,7 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-<code>key_compare</code>.</br>
+<code>key_compare</code>.<br>
<b>Effects:</b> Returns a pointer to an element whose key is equivalent to
<code>x</code>, or <code>end()</code> if such an element does not exist.<br>
<b>Complexity:</b> <code>O(log(n))</code>.<br>
@@ -791,7 +795,7 @@
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleCompare</code>)
-is a compatible extension of <code>key_compare</code>.</br>
+is a compatible extension of <code>key_compare</code>.<br>
<b>Effects:</b> Returns a pointer to an element whose key is equivalent to
<code>x</code>, or <code>end()</code> if such an element does not exist.<br>
<b>Complexity:</b> <code>O(log(n))</code>.<br>
@@ -803,7 +807,7 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-<code>key_compare</code>.</br>
+<code>key_compare</code>.<br>
<b>Effects:</b> Returns the number of elements with key equivalent to <code>x</code>.<br>
<b>Complexity:</b> <code>O(log(n) + count(x))</code>.<br>
</blockquote>
@@ -814,7 +818,7 @@
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleCompare</code>)
-is a compatible extension of <code>key_compare</code>.</br>
+is a compatible extension of <code>key_compare</code>.<br>
<b>Effects:</b> Returns the number of elements with key equivalent to <code>x</code>.<br>
<b>Complexity:</b> <code>O(log(n) + count(x,comp))</code>.<br>
</blockquote>
@@ -825,7 +829,7 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-<code>key_compare</code>.</br>
+<code>key_compare</code>.<br>
<b>Effects:</b> Returns an iterator pointing to the first element with
key not less than <code>x</code>, or <code>end()</code> if such an element does
not exist.<br>
@@ -838,7 +842,7 @@
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleCompare</code>)
-is a compatible extension of <code>key_compare</code>.</br>
+is a compatible extension of <code>key_compare</code>.<br>
<b>Effects:</b> Returns an iterator pointing to the first element with
key not less than <code>x</code>, or <code>end()</code> if such an element does
not exist.<br>
@@ -851,7 +855,7 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-<code>key_compare</code>.</br>
+<code>key_compare</code>.<br>
<b>Effects:</b> Returns an iterator pointing to the first element with
key greater than <code>x</code>, or <code>end()</code> if such an element does
not exist.<br>
@@ -864,7 +868,7 @@
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleCompare</code>)
-is a compatible extension of <code>key_compare</code>.</br>
+is a compatible extension of <code>key_compare</code>.<br>
<b>Effects:</b> Returns an iterator pointing to the first element with
key greater than <code>x</code>, or <code>end()</code> if such an element does
not exist.<br>
@@ -878,19 +882,19 @@
<blockquote>
<b>Requires:</b> <code>CompatibleKey</code> is a compatible key of
-<code>key_compare</code>.</br>
+<code>key_compare</code>.<br>
<b>Effects:</b> Equivalent to <code>make_pair(lower_bound(x),upper_bound(x))</code>.<br>
<b>Complexity:</b> <code>O(log(n))</code>.<br>
</blockquote>
<code>template<typename CompatibleKey,typename CompatibleCompare><br>
-std::pair<iterator,iterator> equal_range(</br>
+std::pair<iterator,iterator> equal_range(<br>
const CompatibleKey& x,const CompatibleCompare& comp)const;
</code>
<blockquote>
<b>Requires:</b> (<code>CompatibleKey</code>, <code>CompatibleCompare</code>)
-is a compatible extension of <code>key_compare</code>.</br>
+is a compatible extension of <code>key_compare</code>.<br>
<b>Effects:</b> Equivalent to
<code>make_pair(lower_bound(x,comp),upper_bound(x,comp))</code>.<br>
<b>Complexity:</b> <code>O(log(n))</code>.<br>
@@ -942,7 +946,7 @@
<blockquote>
<b>Requires:</b> <code>LowerBounder</code> and <code>UpperBounder</code> are
-a lower and upper bounder of <code>key_compare</code>, respectively.</br>
+a lower and upper bounder of <code>key_compare</code>, respectively.<br>
<b>Effects:</b> Returns a pair of iterators pointing to the beginning and one
past the end of the subsequence of elements satisfying <code>lower</code> and
<code>upper</code> simultaneously. If no such elements exist, the iterators
@@ -1018,9 +1022,9 @@
<br>
-<p>Revised July 2nd 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/doc/reference/rnd_indices.html
==============================================================================
--- branches/release/libs/multi_index/doc/reference/rnd_indices.html (original)
+++ branches/release/libs/multi_index/doc/reference/rnd_indices.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -454,7 +454,7 @@
<code>value_type</code> or a type convertible to <code>value_type</code>.
<code>first</code> and <code>last</code> are not iterators into any
index of the <code>multi_index_container</code> to which this index belongs.
-<code>last</code> is reachable from <code>first</code>.</br>
+<code>last</code> is reachable from <code>first</code>.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=identifier>clear</span><span class=special>();</span>
@@ -474,11 +474,11 @@
<h4><a name="iterators">Iterators</a></h4>
-<code>iterator iterator_to(const value_type& x);</br>
+<code>iterator iterator_to(const value_type& x);<br>
const_iterator iterator_to(const value_type& x)const;</code>
<blockquote>
-<b>Requires:</b> <code>x</code> is a reference to an element of the container.</br>
+<b>Requires:</b> <code>x</code> is a reference to an element of the container.<br>
<b>Returns:</b> An iterator to <code>x</code>.<br>
<b>Complexity:</b> Constant.<br>
<b>Exception safety:</b> <code>nothrow</code>.<br>
@@ -555,7 +555,7 @@
<code>std::pair<iterator,bool> insert(iterator position,const value_type& x);</code>
<blockquote>
-<b>Requires:</b> <code>position</code> is a valid iterator of the index.</br>
+<b>Requires:</b> <code>position</code> is a valid iterator of the index.<br>
<b>Effects:</b> Inserts <code>x</code> before <code>position</code> if insertion
is allowed by all other indices of the <code>multi_index_container</code>.<br>
<b>Returns:</b> The return value is a pair <code>p</code>. <code>p.second</code>
@@ -570,7 +570,7 @@
<code>void insert(iterator position,size_type m,const value_type& x);</code>
<blockquote>
-<b>Requires:</b> <code>position</code> is a valid iterator of the index.</br>
+<b>Requires:</b> <code>position</code> is a valid iterator of the index.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=keyword>for</span><span class=special>(</span><span class=identifier>size_type</span> <span class=identifier>i</span><span class=special>=</span><span class=number>0</span><span class=special>;</span><span class=identifier>i</span><span class=special><</span><span class=identifier>m</span><span class=special>;++</span><span class=identifier>i</span><span class=special>)</span><span class=identifier>insert</span><span class=special>(</span><span class=identifier>position</span><span class=special>,</span><span class=identifier>x</span><span class=special>);</span>
@@ -589,7 +589,7 @@
<code>value_type</code> or a type convertible to <code>value_type</code>.
<code>first</code> and <code>last</code> are not iterators into any
index of the <code>multi_index_container</code> to which this index belongs.
-<code>last</code> is reachable from <code>first</code>.</br>
+<code>last</code> is reachable from <code>first</code>.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=keyword>while</span><span class=special>(</span><span class=identifier>first</span><span class=special>!=</span><span class=identifier>last</span><span class=special>)</span><span class=identifier>insert</span><span class=special>(</span><span class=identifier>position</span><span class=special>,*</span><span class=identifier>first</span><span class=special>++);</span>
@@ -604,7 +604,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Deletes the element pointed to by <code>position</code>.<br>
<b>Returns:</b> An iterator pointing to the element immediately following
the one that was deleted, or <code>end()</code>
@@ -629,7 +629,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Assigns the value <code>x</code> to the element pointed
to by <code>position</code> into the <code>multi_index_container</code> to which
the index belongs if replacing is allowed by all other indices of the
@@ -652,7 +652,7 @@
<a href="http://www.sgi.com/tech/stl/UnaryFunction.html">
<code>Unary Function</code></a> accepting arguments of type
<code>value_type&</code>. <code>position</code> is a valid dereferenceable
-iterator of the index.</br>
+iterator of the index.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and rearranges <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement on
@@ -680,7 +680,7 @@
iterator of the index. The sequence of operations <code>mod(e)</code>,
<code>back(e)</code>, where <code>e</code> is the element
pointed to by <code>position</code>, restores all keys of the element
-to their original state.</br>
+to their original state.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and tries to rearrange <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement on
@@ -713,7 +713,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid iterator of the index.
-<code>&x!=this</code>.</br>
+<code>&x!=this</code>.<br>
<b>Effects:</b> Inserts the contents of <code>x</code> before <code>position</code>,
in the same order as they were in <code>x</code>. Those elements succesfully
inserted are erased from <code>x</code>.<br>
@@ -999,9 +999,9 @@
<br>
-<p>Revised July 2nd 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/doc/reference/seq_indices.html
==============================================================================
--- branches/release/libs/multi_index/doc/reference/seq_indices.html (original)
+++ branches/release/libs/multi_index/doc/reference/seq_indices.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -428,7 +428,7 @@
<code>value_type</code> or a type convertible to <code>value_type</code>.
<code>first</code> and <code>last</code> are not iterators into any
index of the <code>multi_index_container</code> to which this index belongs.
-<code>last</code> is reachable from <code>first</code>.</br>
+<code>last</code> is reachable from <code>first</code>.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=identifier>clear</span><span class=special>();</span>
@@ -448,11 +448,11 @@
<h4><a name="iterators">Iterators</a></h4>
-<code>iterator iterator_to(const value_type& x);</br>
+<code>iterator iterator_to(const value_type& x);<br>
const_iterator iterator_to(const value_type& x)const;</code>
<blockquote>
-<b>Requires:</b> <code>x</code> is a reference to an element of the container.</br>
+<b>Requires:</b> <code>x</code> is a reference to an element of the container.<br>
<b>Returns:</b> An iterator to <code>x</code>.<br>
<b>Complexity:</b> Constant.<br>
<b>Exception safety:</b> <code>nothrow</code>.<br>
@@ -509,7 +509,7 @@
<code>std::pair<iterator,bool> insert(iterator position,const value_type& x);</code>
<blockquote>
-<b>Requires:</b> <code>position</code> is a valid iterator of the index.</br>
+<b>Requires:</b> <code>position</code> is a valid iterator of the index.<br>
<b>Effects:</b> Inserts <code>x</code> before <code>position</code> if insertion
is allowed by all other indices of the <code>multi_index_container</code>.<br>
<b>Returns:</b> The return value is a pair <code>p</code>. <code>p.second</code>
@@ -524,7 +524,7 @@
<code>void insert(iterator position,size_type n,const value_type& x);</code>
<blockquote>
-<b>Requires:</b> <code>position</code> is a valid iterator of the index.</br>
+<b>Requires:</b> <code>position</code> is a valid iterator of the index.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=keyword>for</span><span class=special>(</span><span class=identifier>size_type</span> <span class=identifier>i</span><span class=special>=</span><span class=number>0</span><span class=special>;</span><span class=identifier>i</span><span class=special><</span><span class=identifier>n</span><span class=special>;++</span><span class=identifier>i</span><span class=special>)</span><span class=identifier>insert</span><span class=special>(</span><span class=identifier>position</span><span class=special>,</span><span class=identifier>x</span><span class=special>);</span>
@@ -542,7 +542,7 @@
<code>value_type</code> or a type convertible to <code>value_type</code>.
<code>first</code> and <code>last</code> are not iterators into any
index of the <code>multi_index_container</code> to which this index belongs.
-<code>last</code> is reachable from <code>first</code>.</br>
+<code>last</code> is reachable from <code>first</code>.<br>
<b>Effects:</b>
<blockquote><pre>
<span class=keyword>while</span><span class=special>(</span><span class=identifier>first</span><span class=special>!=</span><span class=identifier>last</span><span class=special>)</span><span class=identifier>insert</span><span class=special>(</span><span class=identifier>position</span><span class=special>,*</span><span class=identifier>first</span><span class=special>++);</span>
@@ -556,7 +556,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Deletes the element pointed to by <code>position</code>.<br>
<b>Returns:</b> An iterator pointing to the element immediately following
the one that was deleted, or <code>end()</code>
@@ -581,7 +581,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid dereferenceable iterator
-of the index.</br>
+of the index.<br>
<b>Effects:</b> Assigns the value <code>x</code> to the element pointed
to by <code>position</code> into the <code>multi_index_container</code> to which
the index belongs if replacing is allowed by all other indices of the
@@ -604,7 +604,7 @@
<a href="http://www.sgi.com/tech/stl/UnaryFunction.html">
<code>Unary Function</code></a> accepting arguments of type
<code>value_type&</code>. <code>position</code> is a valid dereferenceable
-iterator of the index.</br>
+iterator of the index.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and rearranges <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement on sequenced
@@ -632,7 +632,7 @@
iterator of the index. The sequence of operations <code>mod(e)</code>,
<code>back(e)</code>, where <code>e</code> is the element
pointed to by <code>position</code>, restores all keys of the element
-to their original state.</br>
+to their original state.<br>
<b>Effects:</b> Calls <code>mod(e)</code> where <code>e</code> is the element
pointed to by <code>position</code> and tries to rearrange <code>*position</code> into
all the indices of the <code>multi_index_container</code>. Rearrangement on sequenced
@@ -667,7 +667,7 @@
<blockquote>
<b>Requires:</b> <code>position</code> is a valid iterator of the index.
-<code>&x!=this</code>.</br>
+<code>&x!=this</code>.<br>
<b>Effects:</b> Inserts the contents of <code>x</code> before <code>position</code>,
in the same order as they were in <code>x</code>. Those elements succesfully
inserted are erased from <code>x</code>.<br>
@@ -954,9 +954,9 @@
<br>
-<p>Revised July 2nd 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/doc/release_notes.html
==============================================================================
--- branches/release/libs/multi_index/doc/release_notes.html (original)
+++ branches/release/libs/multi_index/doc/release_notes.html 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -31,12 +31,30 @@
<h2>Contents</h2>
<ul>
+ <li>Boost 1.36 release</li>
<li>Boost 1.35 release</li>
<li>Boost 1.34 release</li>
<li>Boost 1.33.1 release</li>
<li>Boost 1.33 release</li>
</ul>
+<h2><a name="boost_1_36">Boost 1.36 release</a></h2>
+
+<p>
+<ul>
+ <a name="stable_update">
+ <li>On prior versions of the library, the <a href="tutorial/indices.html#hash_updating">update
+ member functions</a> of hashed indices could alter the position of an element even if the
+ associated key did not change with the update. This is legal but probably unexpected behavior.
+ The functions have been rewritten to provide the additional guarantee that elements with
+ unmodified key will not change position in hashed indices, just as always was the case with
+ ordered indices. These guarantees are now documented in the reference.</li>
+ <li>Added the constructor <code>multi_index_container::multi_index_container(const allocator_type&)</code>
+ to mimic the equivalent interface in STL sequence containers.
+ <li>Maintenance fixes.</li>
+</ul>
+</p>
+
<h2><a name="boost_1_35">Boost 1.35 release</a></h2>
<p>
@@ -205,9 +223,9 @@
<br>
-<p>Revised October 11th 2007</p>
+<p>Revised June 25th 2008</p>
-<p>© Copyright 2003-2007 Joaquín M López Muñoz.
+<p>© Copyright 2003-2008 Joaquín M López Muñoz.
Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: branches/release/libs/multi_index/example/basic.cpp
==============================================================================
--- branches/release/libs/multi_index/example/basic.cpp (original)
+++ branches/release/libs/multi_index/example/basic.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex basic example.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/bimap.cpp
==============================================================================
--- branches/release/libs/multi_index/example/bimap.cpp (original)
+++ branches/release/libs/multi_index/example/bimap.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of a bidirectional map.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/complex_structs.cpp
==============================================================================
--- branches/release/libs/multi_index/example/complex_structs.cpp (original)
+++ branches/release/libs/multi_index/example/complex_structs.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example: complex searches and foreign keys.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/composite_keys.cpp
==============================================================================
--- branches/release/libs/multi_index/example/composite_keys.cpp (original)
+++ branches/release/libs/multi_index/example/composite_keys.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of composite keys.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/fun_key.cpp
==============================================================================
--- branches/release/libs/multi_index/example/fun_key.cpp (original)
+++ branches/release/libs/multi_index/example/fun_key.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of functions used as key extractors.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/hashed.cpp
==============================================================================
--- branches/release/libs/multi_index/example/hashed.cpp (original)
+++ branches/release/libs/multi_index/example/hashed.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of use of hashed indices.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -66,6 +66,8 @@
int main()
{
+ /* boostinspect:noascii */
+
std::string text=
"En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha "
"mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga "
Modified: branches/release/libs/multi_index/example/ip_allocator.cpp
==============================================================================
--- branches/release/libs/multi_index/example/ip_allocator.cpp (original)
+++ branches/release/libs/multi_index/example/ip_allocator.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of use of Boost.Interprocess allocators.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/non_default_ctor.cpp
==============================================================================
--- branches/release/libs/multi_index/example/non_default_ctor.cpp (original)
+++ branches/release/libs/multi_index/example/non_default_ctor.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of use of multi_index_container::ctor_args_list.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/random_access.cpp
==============================================================================
--- branches/release/libs/multi_index/example/random_access.cpp (original)
+++ branches/release/libs/multi_index/example/random_access.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of use of random access indices.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/rearrange.cpp
==============================================================================
--- branches/release/libs/multi_index/example/rearrange.cpp (original)
+++ branches/release/libs/multi_index/example/rearrange.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of use of rearrange facilities.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/sequenced.cpp
==============================================================================
--- branches/release/libs/multi_index/example/sequenced.cpp (original)
+++ branches/release/libs/multi_index/example/sequenced.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of use of sequenced indices.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/example/serialization.cpp
==============================================================================
--- branches/release/libs/multi_index/example/serialization.cpp (original)
+++ branches/release/libs/multi_index/example/serialization.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex example of serialization of a MRU list.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/perf/test_perf.cpp
==============================================================================
--- branches/release/libs/multi_index/perf/test_perf.cpp (original)
+++ branches/release/libs/multi_index/perf/test_perf.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex performance test.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/employee.hpp
==============================================================================
--- branches/release/libs/multi_index/test/employee.hpp (original)
+++ branches/release/libs/multi_index/test/employee.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Used in Boost.MultiIndex tests.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/non_std_allocator.hpp
==============================================================================
--- branches/release/libs/multi_index/test/non_std_allocator.hpp (original)
+++ branches/release/libs/multi_index/test/non_std_allocator.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Used in Boost.MultiIndex tests.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -123,14 +123,4 @@
}
};
-template<>
-class non_std_allocator<void>
-{
-public:
- typedef non_raw_pointer<void> pointer;
- typedef non_raw_pointer<const void> const_pointer;
- typedef void value_type;
- template<class U>struct rebind{typedef non_std_allocator<U> other;};
-};
-
#endif
Modified: branches/release/libs/multi_index/test/pair_of_ints.hpp
==============================================================================
--- branches/release/libs/multi_index/test/pair_of_ints.hpp (original)
+++ branches/release/libs/multi_index/test/pair_of_ints.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Used in Boost.MultiIndex tests.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/pre_multi_index.hpp
==============================================================================
--- branches/release/libs/multi_index/test/pre_multi_index.hpp (original)
+++ branches/release/libs/multi_index/test/pre_multi_index.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Used in Boost.MultiIndex tests.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_all_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_all_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_all_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test suite.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_basic.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_basic.cpp (original)
+++ branches/release/libs/multi_index/test/test_basic.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex basic test.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_basic.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_basic.hpp (original)
+++ branches/release/libs/multi_index/test/test_basic.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex basic test.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_basic_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_basic_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_basic_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex basic test.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_capacity.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_capacity.cpp (original)
+++ branches/release/libs/multi_index/test/test_capacity.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for capacity memfuns.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_capacity.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_capacity.hpp (original)
+++ branches/release/libs/multi_index/test/test_capacity.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for capacity memfuns.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_capacity_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_capacity_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_capacity_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for capacity memfuns.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_comparison.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_comparison.cpp (original)
+++ branches/release/libs/multi_index/test/test_comparison.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for comparison functions.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_comparison.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_comparison.hpp (original)
+++ branches/release/libs/multi_index/test/test_comparison.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for comparison functions.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_comparison_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_comparison_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_comparison_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for comparison functions.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_composite_key.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_composite_key.cpp (original)
+++ branches/release/libs/multi_index/test/test_composite_key.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for composite_key.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_composite_key.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_composite_key.hpp (original)
+++ branches/release/libs/multi_index/test/test_composite_key.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for composite_key.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_composite_key_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_composite_key_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_composite_key_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for composite_key.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_conv_iterators.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_conv_iterators.cpp (original)
+++ branches/release/libs/multi_index/test/test_conv_iterators.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,7 +1,7 @@
/* Boost.MultiIndex test for interconvertibilty between const and
* non-const iterators.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_conv_iterators.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_conv_iterators.hpp (original)
+++ branches/release/libs/multi_index/test/test_conv_iterators.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,7 +1,7 @@
/* Boost.MultiIndex test for interconvertibilty between const and
* non-const iterators.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_conv_iterators_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_conv_iterators_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_conv_iterators_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,7 +1,7 @@
/* Boost.MultiIndex test for interconvertibilty between const and
* non-const iterators.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_copy_assignment.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_copy_assignment.cpp (original)
+++ branches/release/libs/multi_index/test/test_copy_assignment.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for copying and assignment.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -107,7 +107,7 @@
BOOST_CHECK(get<3>(es2)==get<3>(es3));
BOOST_CHECK(get<5>(es2)==get<5>(es3));
- employee_set es4;
+ employee_set es4=employee_set(non_std_allocator<employee>());
employee_set_by_name& i1=get<name>(es4);
i1=get<1>(es2);
Modified: branches/release/libs/multi_index/test/test_copy_assignment.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_copy_assignment.hpp (original)
+++ branches/release/libs/multi_index/test/test_copy_assignment.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for copying and assignment.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_copy_assignment_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_copy_assignment_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_copy_assignment_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for copying and assignment.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_hash_ops.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_hash_ops.cpp (original)
+++ branches/release/libs/multi_index/test/test_hash_ops.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard hash operations.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_hash_ops.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_hash_ops.hpp (original)
+++ branches/release/libs/multi_index/test/test_hash_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard hash operations.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_hash_ops_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_hash_ops_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_hash_ops_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard hash operations.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_iterators.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_iterators.cpp (original)
+++ branches/release/libs/multi_index/test/test_iterators.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for iterators.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_iterators.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_iterators.hpp (original)
+++ branches/release/libs/multi_index/test/test_iterators.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for iterators.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_iterators_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_iterators_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_iterators_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for iterators.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_key_extractors.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_key_extractors.cpp (original)
+++ branches/release/libs/multi_index/test/test_key_extractors.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for key extractors.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_key_extractors.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_key_extractors.hpp (original)
+++ branches/release/libs/multi_index/test/test_key_extractors.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for key extractors.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_key_extractors_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_key_extractors_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_key_extractors_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for key extractors.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_list_ops.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_list_ops.cpp (original)
+++ branches/release/libs/multi_index/test/test_list_ops.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard list operations.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_list_ops.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_list_ops.hpp (original)
+++ branches/release/libs/multi_index/test/test_list_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard list operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_list_ops_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_list_ops_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_list_ops_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard list operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_modifiers.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_modifiers.cpp (original)
+++ branches/release/libs/multi_index/test/test_modifiers.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for modifier memfuns.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -31,7 +31,6 @@
int n;
};
-
inline bool operator==(const always_one& x,const always_one& y)
{
return x.get()==y.get();
Modified: branches/release/libs/multi_index/test/test_modifiers.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_modifiers.hpp (original)
+++ branches/release/libs/multi_index/test/test_modifiers.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for modifier memfuns.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_modifiers_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_modifiers_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_modifiers_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for modifier memfuns.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_mpl_ops.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_mpl_ops.cpp (original)
+++ branches/release/libs/multi_index/test/test_mpl_ops.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for MPL operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_mpl_ops.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_mpl_ops.hpp (original)
+++ branches/release/libs/multi_index/test/test_mpl_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for for MPL operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_mpl_ops_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_mpl_ops_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_mpl_ops_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for for MPL operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_observers.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_observers.cpp (original)
+++ branches/release/libs/multi_index/test/test_observers.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for observer memfuns.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_observers.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_observers.hpp (original)
+++ branches/release/libs/multi_index/test/test_observers.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for observer memfuns.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_observers_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_observers_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_observers_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for observer memfuns.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_projection.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_projection.cpp (original)
+++ branches/release/libs/multi_index/test/test_projection.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for projection capabilities.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_projection.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_projection.hpp (original)
+++ branches/release/libs/multi_index/test/test_projection.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for projection capabilities.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_projection_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_projection_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_projection_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for projection capabilities.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_range.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_range.cpp (original)
+++ branches/release/libs/multi_index/test/test_range.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for range().
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_range.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_range.hpp (original)
+++ branches/release/libs/multi_index/test/test_range.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for range().
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_range_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_range_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_range_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for range().
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_rearrange.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_rearrange.cpp (original)
+++ branches/release/libs/multi_index/test/test_rearrange.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for rearrange operations.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_rearrange.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_rearrange.hpp (original)
+++ branches/release/libs/multi_index/test/test_rearrange.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for rearrange operations.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_rearrange_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_rearrange_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_rearrange_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for rearrange operations.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_safe_mode.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_safe_mode.cpp (original)
+++ branches/release/libs/multi_index/test/test_safe_mode.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for safe_mode.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_safe_mode.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_safe_mode.hpp (original)
+++ branches/release/libs/multi_index/test/test_safe_mode.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for safe mode.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_safe_mode_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_safe_mode_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_safe_mode_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for safe mode.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization.cpp (original)
+++ branches/release/libs/multi_index/test/test_serialization.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization.hpp (original)
+++ branches/release/libs/multi_index/test/test_serialization.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization1.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization1.cpp (original)
+++ branches/release/libs/multi_index/test/test_serialization1.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization, part 1.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization1.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization1.hpp (original)
+++ branches/release/libs/multi_index/test/test_serialization1.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization, part 1.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization2.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization2.cpp (original)
+++ branches/release/libs/multi_index/test/test_serialization2.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization, part 2.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization2.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization2.hpp (original)
+++ branches/release/libs/multi_index/test/test_serialization2.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization, part 2.
*
- * Copyright 2003-2006 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization3.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization3.cpp (original)
+++ branches/release/libs/multi_index/test/test_serialization3.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization, part 3.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization3.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization3.hpp (original)
+++ branches/release/libs/multi_index/test/test_serialization3.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization, part 3.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_serialization_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for serialization.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_serialization_template.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_serialization_template.hpp (original)
+++ branches/release/libs/multi_index/test/test_serialization_template.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex serialization tests template.
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_set_ops.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_set_ops.cpp (original)
+++ branches/release/libs/multi_index/test/test_set_ops.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard set operations.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_set_ops.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_set_ops.hpp (original)
+++ branches/release/libs/multi_index/test/test_set_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard set operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_set_ops_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_set_ops_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_set_ops_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for standard set operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_special_set_ops.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_special_set_ops.cpp (original)
+++ branches/release/libs/multi_index/test/test_special_set_ops.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for special set operations.
*
- * Copyright 2003-2005 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_special_set_ops.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_special_set_ops.hpp (original)
+++ branches/release/libs/multi_index/test/test_special_set_ops.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for special set operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_special_set_ops_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_special_set_ops_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_special_set_ops_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for special set operations.
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_update.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_update.cpp (original)
+++ branches/release/libs/multi_index/test/test_update.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for replace(), modify() and modify_key().
*
- * Copyright 2003-2007 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
@@ -12,12 +12,51 @@
#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
#include <algorithm>
+#include <cstddef>
#include "pre_multi_index.hpp"
#include "employee.hpp"
#include "pair_of_ints.hpp"
#include <boost/next_prior.hpp>
#include <boost/test/test_tools.hpp>
+struct do_nothing
+{
+ template<typename T>
+ void operator()(const T&)const{}
+};
+
+struct null_hash
+{
+ template<typename T>
+ std::size_t operator()(const T&)const{return 0;}
+};
+
+template<class MultiIndexContainer>
+void test_stable_update(BOOST_EXPLICIT_TEMPLATE_TYPE(MultiIndexContainer))
+{
+ typedef typename MultiIndexContainer::iterator iterator;
+ typedef typename MultiIndexContainer::size_type size_type;
+
+ MultiIndexContainer c;
+ c.insert(0);c.insert(0);c.insert(0);c.insert(0);
+ c.insert(1);c.insert(1);c.insert(1);
+ c.insert(2);c.insert(2);
+ c.insert(3);
+
+ for(size_type n=c.size();n--;){
+ iterator it=boost::next(c.begin(),n);
+
+ c.replace(it,*it);
+ BOOST_CHECK((size_type)std::distance(c.begin(),it)==n);
+
+ c.modify(it,do_nothing());
+ BOOST_CHECK((size_type)std::distance(c.begin(),it)==n);
+
+ c.modify(it,do_nothing(),do_nothing());
+ BOOST_CHECK((size_type)std::distance(c.begin(),it)==n);
+ }
+}
+
using namespace boost::multi_index;
void test_update()
@@ -167,4 +206,56 @@
BOOST_CHECK(!ii1.modify(boost::prior(ii1.end()),increment_second));
BOOST_CHECK(ii1.size()==2);
}
+ {
+ typedef multi_index_container<
+ int,
+ indexed_by<
+ ordered_non_unique<identity<int> >
+ >
+ > int_set;
+
+ /* MSVC++ 6.0 needs this out-of-template definition */
+ int_set dummy1;
+ test_stable_update<int_set>();
+
+ typedef multi_index_container<
+ int,
+ indexed_by<
+ hashed_unique<identity<int> >
+ >
+ > int_hashed_set;
+
+ int_hashed_set dummy2;
+ test_stable_update<int_hashed_set>();
+
+ typedef multi_index_container<
+ int,
+ indexed_by<
+ hashed_unique<identity<int> >
+ >
+ > int_hashed_multiset;
+
+ int_hashed_multiset dummy3;
+ test_stable_update<int_hashed_multiset>();
+
+ typedef multi_index_container<
+ int,
+ indexed_by<
+ hashed_unique<identity<int>,null_hash>
+ >
+ > degenerate_int_hashed_set;
+
+ degenerate_int_hashed_set dummy4;
+ test_stable_update<degenerate_int_hashed_set>();
+
+ typedef multi_index_container<
+ int,
+ indexed_by<
+ hashed_non_unique<identity<int>,null_hash>
+ >
+ > degenerate_int_hashed_multiset;
+
+ degenerate_int_hashed_multiset dummy5;
+ test_stable_update<degenerate_int_hashed_multiset>();
+ }
}
Modified: branches/release/libs/multi_index/test/test_update.hpp
==============================================================================
--- branches/release/libs/multi_index/test/test_update.hpp (original)
+++ branches/release/libs/multi_index/test/test_update.hpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for replace(), modify() and modify_key().
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
Modified: branches/release/libs/multi_index/test/test_update_main.cpp
==============================================================================
--- branches/release/libs/multi_index/test/test_update_main.cpp (original)
+++ branches/release/libs/multi_index/test/test_update_main.cpp 2008-07-03 12:51:53 EDT (Thu, 03 Jul 2008)
@@ -1,6 +1,6 @@
/* Boost.MultiIndex test for replace(), modify() and modify_key().
*
- * Copyright 2003-2004 Joaquín M López Muñoz.
+ * Copyright 2003-2008 Joaquin M Lopez Munoz.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
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