Boost logo

Boost-Commit :

From: joaquin_at_[hidden]
Date: 2008-06-27 09:32:38


Author: joaquin
Date: 2008-06-27 09:32:24 EDT (Fri, 27 Jun 2008)
New Revision: 46770
URL: http://svn.boost.org/trac/boost/changeset/46770

Log:
Boost 1.36 version of Boost.MultiIndex
passim: supressed non-ASCII chars in C++ code
bidir_node_iterator.hpp: deleted unused template parameter
bucket_array.hpp: avoided allocator<void> instantiations
hash_index_iterator.hpp: avoided allocator<void> instantiations
hash_index_node.hpp: avoided allocator<void> instantiations, renamed var
ord_index_node.hpp: avoided allocator<void> instantiations
rnd_index_loader.hpp: avoided allocator<void> instantiations
rnd_index_node.hpp: avoided allocator<void> instantiations
rnd_index_ptr_array.hpp: avoided allocator<void> instantiations
rnd_node_iterator.hpp: deleted unused template parameter
seq_index_node.hpp: avoided allocator<void> instantiations
hashed_index.hpp: rewritten modify_ so that elements with unmodified key do not change position
multi_index_container.hpp: added allocator ctor
acknowledgements.html: added acknowledgements for Boost 1.36
compiler_specifics.html: typo
hash_indices.html: documented updating functions behavior wrt unmodified keys, formatting typos
key_extraction.html: formatting typos
multi_index_container.html: added allocator ctor, formatting typos
ord_indices.html: documented updating functions behavior wrt unmodified keys, formatting typos
rnd_indices.html: formatting typos
seq_indices.html: formatting typos
release_notes.html: added release notes for Boost 1.36
hashed.cpp: blocked Boost inspect tool check for ASCII only chars
non_std_allocator.hpp: removed void specialization to verify that no allocator<void> instantiations are generated
test_copy_assignment.cpp: added test for multi_index_container allocator ctor
test_update.cpp: added test for stability of update functions wrt to unmodified keys
Text files modified:
   trunk/boost/detail/allocator_utilities.hpp | 2
   trunk/boost/multi_index/composite_key.hpp | 2
   trunk/boost/multi_index/detail/access_specifier.hpp | 2
   trunk/boost/multi_index/detail/adl_swap.hpp | 2
   trunk/boost/multi_index/detail/archive_constructed.hpp | 2
   trunk/boost/multi_index/detail/auto_space.hpp | 2
   trunk/boost/multi_index/detail/base_type.hpp | 2
   trunk/boost/multi_index/detail/bidir_node_iterator.hpp | 12 +-
   trunk/boost/multi_index/detail/bucket_array.hpp | 4
   trunk/boost/multi_index/detail/converter.hpp | 2
   trunk/boost/multi_index/detail/copy_map.hpp | 2
   trunk/boost/multi_index/detail/duplicates_iterator.hpp | 2
   trunk/boost/multi_index/detail/has_tag.hpp | 2
   trunk/boost/multi_index/detail/hash_index_args.hpp | 2
   trunk/boost/multi_index/detail/hash_index_iterator.hpp | 12 +-
   trunk/boost/multi_index/detail/hash_index_node.hpp | 10 +-
   trunk/boost/multi_index/detail/header_holder.hpp | 2
   trunk/boost/multi_index/detail/index_base.hpp | 2
   trunk/boost/multi_index/detail/index_loader.hpp | 2
   trunk/boost/multi_index/detail/index_matcher.hpp | 2
   trunk/boost/multi_index/detail/index_node_base.hpp | 2
   trunk/boost/multi_index/detail/index_saver.hpp | 2
   trunk/boost/multi_index/detail/invariant_assert.hpp | 2
   trunk/boost/multi_index/detail/is_index_list.hpp | 2
   trunk/boost/multi_index/detail/iter_adaptor.hpp | 2
   trunk/boost/multi_index/detail/modify_key_adaptor.hpp | 2
   trunk/boost/multi_index/detail/msvc_index_specifier.hpp | 2
   trunk/boost/multi_index/detail/no_duplicate_tags.hpp | 2
   trunk/boost/multi_index/detail/node_type.hpp | 2
   trunk/boost/multi_index/detail/ord_index_args.hpp | 2
   trunk/boost/multi_index/detail/ord_index_node.hpp | 6
   trunk/boost/multi_index/detail/ord_index_ops.hpp | 2
   trunk/boost/multi_index/detail/prevent_eti.hpp | 2
   trunk/boost/multi_index/detail/rnd_index_loader.hpp | 4
   trunk/boost/multi_index/detail/rnd_index_node.hpp | 6
   trunk/boost/multi_index/detail/rnd_index_ops.hpp | 2
   trunk/boost/multi_index/detail/rnd_index_ptr_array.hpp | 4
   trunk/boost/multi_index/detail/rnd_node_iterator.hpp | 24 +++---
   trunk/boost/multi_index/detail/safe_ctr_proxy.hpp | 2
   trunk/boost/multi_index/detail/safe_mode.hpp | 2
   trunk/boost/multi_index/detail/scope_guard.hpp | 2
   trunk/boost/multi_index/detail/seq_index_node.hpp | 6
   trunk/boost/multi_index/detail/seq_index_ops.hpp | 2
   trunk/boost/multi_index/detail/uintptr_type.hpp | 2
   trunk/boost/multi_index/detail/unbounded.hpp | 2
   trunk/boost/multi_index/detail/value_compare.hpp | 2
   trunk/boost/multi_index/global_fun.hpp | 2
   trunk/boost/multi_index/hashed_index.hpp | 148 ++++++++++++++++++++++++++++++---------
   trunk/boost/multi_index/hashed_index_fwd.hpp | 2
   trunk/boost/multi_index/identity.hpp | 2
   trunk/boost/multi_index/identity_fwd.hpp | 2
   trunk/boost/multi_index/indexed_by.hpp | 2
   trunk/boost/multi_index/key_extractors.hpp | 2
   trunk/boost/multi_index/mem_fun.hpp | 2
   trunk/boost/multi_index/member.hpp | 2
   trunk/boost/multi_index/ordered_index.hpp | 2
   trunk/boost/multi_index/ordered_index_fwd.hpp | 2
   trunk/boost/multi_index/random_access_index.hpp | 2
   trunk/boost/multi_index/random_access_index_fwd.hpp | 2
   trunk/boost/multi_index/safe_mode_errors.hpp | 2
   trunk/boost/multi_index/sequenced_index.hpp | 2
   trunk/boost/multi_index/sequenced_index_fwd.hpp | 2
   trunk/boost/multi_index/tag.hpp | 2
   trunk/boost/multi_index_container.hpp | 10 ++
   trunk/boost/multi_index_container_fwd.hpp | 2
   trunk/libs/multi_index/doc/acknowledgements.html | 16 +++
   trunk/libs/multi_index/doc/compiler_specifics.html | 6
   trunk/libs/multi_index/doc/reference/hash_indices.html | 51 +++++++------
   trunk/libs/multi_index/doc/reference/key_extraction.html | 14 +-
   trunk/libs/multi_index/doc/reference/multi_index_container.html | 19 +++-
   trunk/libs/multi_index/doc/reference/ord_indices.html | 58 ++++++++-------
   trunk/libs/multi_index/doc/reference/rnd_indices.html | 26 +++---
   trunk/libs/multi_index/doc/reference/seq_indices.html | 26 +++---
   trunk/libs/multi_index/doc/release_notes.html | 22 +++++
   trunk/libs/multi_index/example/basic.cpp | 2
   trunk/libs/multi_index/example/bimap.cpp | 2
   trunk/libs/multi_index/example/complex_structs.cpp | 2
   trunk/libs/multi_index/example/composite_keys.cpp | 2
   trunk/libs/multi_index/example/fun_key.cpp | 2
   trunk/libs/multi_index/example/hashed.cpp | 4
   trunk/libs/multi_index/example/ip_allocator.cpp | 2
   trunk/libs/multi_index/example/non_default_ctor.cpp | 2
   trunk/libs/multi_index/example/random_access.cpp | 2
   trunk/libs/multi_index/example/rearrange.cpp | 2
   trunk/libs/multi_index/example/sequenced.cpp | 2
   trunk/libs/multi_index/example/serialization.cpp | 2
   trunk/libs/multi_index/perf/test_perf.cpp | 2
   trunk/libs/multi_index/test/employee.hpp | 2
   trunk/libs/multi_index/test/non_std_allocator.hpp | 12 --
   trunk/libs/multi_index/test/pair_of_ints.hpp | 2
   trunk/libs/multi_index/test/pre_multi_index.hpp | 2
   trunk/libs/multi_index/test/test_all_main.cpp | 2
   trunk/libs/multi_index/test/test_basic.cpp | 2
   trunk/libs/multi_index/test/test_basic.hpp | 2
   trunk/libs/multi_index/test/test_basic_main.cpp | 2
   trunk/libs/multi_index/test/test_capacity.cpp | 2
   trunk/libs/multi_index/test/test_capacity.hpp | 2
   trunk/libs/multi_index/test/test_capacity_main.cpp | 2
   trunk/libs/multi_index/test/test_comparison.cpp | 2
   trunk/libs/multi_index/test/test_comparison.hpp | 2
   trunk/libs/multi_index/test/test_comparison_main.cpp | 2
   trunk/libs/multi_index/test/test_composite_key.cpp | 2
   trunk/libs/multi_index/test/test_composite_key.hpp | 2
   trunk/libs/multi_index/test/test_composite_key_main.cpp | 2
   trunk/libs/multi_index/test/test_conv_iterators.cpp | 2
   trunk/libs/multi_index/test/test_conv_iterators.hpp | 2
   trunk/libs/multi_index/test/test_conv_iterators_main.cpp | 2
   trunk/libs/multi_index/test/test_copy_assignment.cpp | 4
   trunk/libs/multi_index/test/test_copy_assignment.hpp | 2
   trunk/libs/multi_index/test/test_copy_assignment_main.cpp | 2
   trunk/libs/multi_index/test/test_hash_ops.cpp | 2
   trunk/libs/multi_index/test/test_hash_ops.hpp | 2
   trunk/libs/multi_index/test/test_hash_ops_main.cpp | 2
   trunk/libs/multi_index/test/test_iterators.cpp | 2
   trunk/libs/multi_index/test/test_iterators.hpp | 2
   trunk/libs/multi_index/test/test_iterators_main.cpp | 2
   trunk/libs/multi_index/test/test_key_extractors.cpp | 2
   trunk/libs/multi_index/test/test_key_extractors.hpp | 2
   trunk/libs/multi_index/test/test_key_extractors_main.cpp | 2
   trunk/libs/multi_index/test/test_list_ops.cpp | 2
   trunk/libs/multi_index/test/test_list_ops.hpp | 2
   trunk/libs/multi_index/test/test_list_ops_main.cpp | 2
   trunk/libs/multi_index/test/test_modifiers.cpp | 3
   trunk/libs/multi_index/test/test_modifiers.hpp | 2
   trunk/libs/multi_index/test/test_modifiers_main.cpp | 2
   trunk/libs/multi_index/test/test_mpl_ops.cpp | 2
   trunk/libs/multi_index/test/test_mpl_ops.hpp | 2
   trunk/libs/multi_index/test/test_mpl_ops_main.cpp | 2
   trunk/libs/multi_index/test/test_observers.cpp | 2
   trunk/libs/multi_index/test/test_observers.hpp | 2
   trunk/libs/multi_index/test/test_observers_main.cpp | 2
   trunk/libs/multi_index/test/test_projection.cpp | 2
   trunk/libs/multi_index/test/test_projection.hpp | 2
   trunk/libs/multi_index/test/test_projection_main.cpp | 2
   trunk/libs/multi_index/test/test_range.cpp | 2
   trunk/libs/multi_index/test/test_range.hpp | 2
   trunk/libs/multi_index/test/test_range_main.cpp | 2
   trunk/libs/multi_index/test/test_rearrange.cpp | 2
   trunk/libs/multi_index/test/test_rearrange.hpp | 2
   trunk/libs/multi_index/test/test_rearrange_main.cpp | 2
   trunk/libs/multi_index/test/test_safe_mode.cpp | 2
   trunk/libs/multi_index/test/test_safe_mode.hpp | 2
   trunk/libs/multi_index/test/test_safe_mode_main.cpp | 2
   trunk/libs/multi_index/test/test_serialization.cpp | 2
   trunk/libs/multi_index/test/test_serialization.hpp | 2
   trunk/libs/multi_index/test/test_serialization1.cpp | 2
   trunk/libs/multi_index/test/test_serialization1.hpp | 2
   trunk/libs/multi_index/test/test_serialization2.cpp | 2
   trunk/libs/multi_index/test/test_serialization2.hpp | 2
   trunk/libs/multi_index/test/test_serialization3.cpp | 2
   trunk/libs/multi_index/test/test_serialization3.hpp | 2
   trunk/libs/multi_index/test/test_serialization_main.cpp | 2
   trunk/libs/multi_index/test/test_serialization_template.hpp | 2
   trunk/libs/multi_index/test/test_set_ops.cpp | 2
   trunk/libs/multi_index/test/test_set_ops.hpp | 2
   trunk/libs/multi_index/test/test_set_ops_main.cpp | 2
   trunk/libs/multi_index/test/test_special_set_ops.cpp | 2
   trunk/libs/multi_index/test/test_special_set_ops.hpp | 2
   trunk/libs/multi_index/test/test_special_set_ops_main.cpp | 2
   trunk/libs/multi_index/test/test_update.cpp | 93 ++++++++++++++++++++++++
   trunk/libs/multi_index/test/test_update.hpp | 2
   trunk/libs/multi_index/test/test_update_main.cpp | 2
   162 files changed, 543 insertions(+), 329 deletions(-)

Modified: trunk/boost/detail/allocator_utilities.hpp
==============================================================================
--- trunk/boost/detail/allocator_utilities.hpp (original)
+++ trunk/boost/detail/allocator_utilities.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/composite_key.hpp
==============================================================================
--- trunk/boost/multi_index/composite_key.hpp (original)
+++ trunk/boost/multi_index/composite_key.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/access_specifier.hpp
==============================================================================
--- trunk/boost/multi_index/detail/access_specifier.hpp (original)
+++ trunk/boost/multi_index/detail/access_specifier.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/adl_swap.hpp
==============================================================================
--- trunk/boost/multi_index/detail/adl_swap.hpp (original)
+++ trunk/boost/multi_index/detail/adl_swap.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/archive_constructed.hpp
==============================================================================
--- trunk/boost/multi_index/detail/archive_constructed.hpp (original)
+++ trunk/boost/multi_index/detail/archive_constructed.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/auto_space.hpp
==============================================================================
--- trunk/boost/multi_index/detail/auto_space.hpp (original)
+++ trunk/boost/multi_index/detail/auto_space.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/base_type.hpp
==============================================================================
--- trunk/boost/multi_index/detail/base_type.hpp (original)
+++ trunk/boost/multi_index/detail/base_type.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/bidir_node_iterator.hpp
==============================================================================
--- trunk/boost/multi_index/detail/bidir_node_iterator.hpp (original)
+++ trunk/boost/multi_index/detail/bidir_node_iterator.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/bucket_array.hpp
==============================================================================
--- trunk/boost/multi_index/detail/bucket_array.hpp (original)
+++ trunk/boost/multi_index/detail/bucket_array.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/converter.hpp
==============================================================================
--- trunk/boost/multi_index/detail/converter.hpp (original)
+++ trunk/boost/multi_index/detail/converter.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/copy_map.hpp
==============================================================================
--- trunk/boost/multi_index/detail/copy_map.hpp (original)
+++ trunk/boost/multi_index/detail/copy_map.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/duplicates_iterator.hpp
==============================================================================
--- trunk/boost/multi_index/detail/duplicates_iterator.hpp (original)
+++ trunk/boost/multi_index/detail/duplicates_iterator.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/has_tag.hpp
==============================================================================
--- trunk/boost/multi_index/detail/has_tag.hpp (original)
+++ trunk/boost/multi_index/detail/has_tag.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/hash_index_args.hpp
==============================================================================
--- trunk/boost/multi_index/detail/hash_index_args.hpp (original)
+++ trunk/boost/multi_index/detail/hash_index_args.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/hash_index_iterator.hpp
==============================================================================
--- trunk/boost/multi_index/detail/hash_index_iterator.hpp (original)
+++ trunk/boost/multi_index/detail/hash_index_iterator.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/hash_index_node.hpp
==============================================================================
--- trunk/boost/multi_index/detail/hash_index_node.hpp (original)
+++ trunk/boost/multi_index/detail/hash_index_node.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/header_holder.hpp
==============================================================================
--- trunk/boost/multi_index/detail/header_holder.hpp (original)
+++ trunk/boost/multi_index/detail/header_holder.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/index_base.hpp
==============================================================================
--- trunk/boost/multi_index/detail/index_base.hpp (original)
+++ trunk/boost/multi_index/detail/index_base.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/index_loader.hpp
==============================================================================
--- trunk/boost/multi_index/detail/index_loader.hpp (original)
+++ trunk/boost/multi_index/detail/index_loader.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/index_matcher.hpp
==============================================================================
--- trunk/boost/multi_index/detail/index_matcher.hpp (original)
+++ trunk/boost/multi_index/detail/index_matcher.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/index_node_base.hpp
==============================================================================
--- trunk/boost/multi_index/detail/index_node_base.hpp (original)
+++ trunk/boost/multi_index/detail/index_node_base.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/index_saver.hpp
==============================================================================
--- trunk/boost/multi_index/detail/index_saver.hpp (original)
+++ trunk/boost/multi_index/detail/index_saver.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/invariant_assert.hpp
==============================================================================
--- trunk/boost/multi_index/detail/invariant_assert.hpp (original)
+++ trunk/boost/multi_index/detail/invariant_assert.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/is_index_list.hpp
==============================================================================
--- trunk/boost/multi_index/detail/is_index_list.hpp (original)
+++ trunk/boost/multi_index/detail/is_index_list.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/iter_adaptor.hpp
==============================================================================
--- trunk/boost/multi_index/detail/iter_adaptor.hpp (original)
+++ trunk/boost/multi_index/detail/iter_adaptor.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/modify_key_adaptor.hpp
==============================================================================
--- trunk/boost/multi_index/detail/modify_key_adaptor.hpp (original)
+++ trunk/boost/multi_index/detail/modify_key_adaptor.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/msvc_index_specifier.hpp
==============================================================================
--- trunk/boost/multi_index/detail/msvc_index_specifier.hpp (original)
+++ trunk/boost/multi_index/detail/msvc_index_specifier.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/no_duplicate_tags.hpp
==============================================================================
--- trunk/boost/multi_index/detail/no_duplicate_tags.hpp (original)
+++ trunk/boost/multi_index/detail/no_duplicate_tags.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/node_type.hpp
==============================================================================
--- trunk/boost/multi_index/detail/node_type.hpp (original)
+++ trunk/boost/multi_index/detail/node_type.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/ord_index_args.hpp
==============================================================================
--- trunk/boost/multi_index/detail/ord_index_args.hpp (original)
+++ trunk/boost/multi_index/detail/ord_index_args.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/ord_index_node.hpp
==============================================================================
--- trunk/boost/multi_index/detail/ord_index_node.hpp (original)
+++ trunk/boost/multi_index/detail/ord_index_node.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/ord_index_ops.hpp
==============================================================================
--- trunk/boost/multi_index/detail/ord_index_ops.hpp (original)
+++ trunk/boost/multi_index/detail/ord_index_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/prevent_eti.hpp
==============================================================================
--- trunk/boost/multi_index/detail/prevent_eti.hpp (original)
+++ trunk/boost/multi_index/detail/prevent_eti.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/rnd_index_loader.hpp
==============================================================================
--- trunk/boost/multi_index/detail/rnd_index_loader.hpp (original)
+++ trunk/boost/multi_index/detail/rnd_index_loader.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/rnd_index_node.hpp
==============================================================================
--- trunk/boost/multi_index/detail/rnd_index_node.hpp (original)
+++ trunk/boost/multi_index/detail/rnd_index_node.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/rnd_index_ops.hpp
==============================================================================
--- trunk/boost/multi_index/detail/rnd_index_ops.hpp (original)
+++ trunk/boost/multi_index/detail/rnd_index_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/rnd_index_ptr_array.hpp
==============================================================================
--- trunk/boost/multi_index/detail/rnd_index_ptr_array.hpp (original)
+++ trunk/boost/multi_index/detail/rnd_index_ptr_array.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/rnd_node_iterator.hpp
==============================================================================
--- trunk/boost/multi_index/detail/rnd_node_iterator.hpp (original)
+++ trunk/boost/multi_index/detail/rnd_node_iterator.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/safe_ctr_proxy.hpp
==============================================================================
--- trunk/boost/multi_index/detail/safe_ctr_proxy.hpp (original)
+++ trunk/boost/multi_index/detail/safe_ctr_proxy.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/safe_mode.hpp
==============================================================================
--- trunk/boost/multi_index/detail/safe_mode.hpp (original)
+++ trunk/boost/multi_index/detail/safe_mode.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/scope_guard.hpp
==============================================================================
--- trunk/boost/multi_index/detail/scope_guard.hpp (original)
+++ trunk/boost/multi_index/detail/scope_guard.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/seq_index_node.hpp
==============================================================================
--- trunk/boost/multi_index/detail/seq_index_node.hpp (original)
+++ trunk/boost/multi_index/detail/seq_index_node.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/seq_index_ops.hpp
==============================================================================
--- trunk/boost/multi_index/detail/seq_index_ops.hpp (original)
+++ trunk/boost/multi_index/detail/seq_index_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/uintptr_type.hpp
==============================================================================
--- trunk/boost/multi_index/detail/uintptr_type.hpp (original)
+++ trunk/boost/multi_index/detail/uintptr_type.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/unbounded.hpp
==============================================================================
--- trunk/boost/multi_index/detail/unbounded.hpp (original)
+++ trunk/boost/multi_index/detail/unbounded.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/detail/value_compare.hpp
==============================================================================
--- trunk/boost/multi_index/detail/value_compare.hpp (original)
+++ trunk/boost/multi_index/detail/value_compare.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/global_fun.hpp
==============================================================================
--- trunk/boost/multi_index/global_fun.hpp (original)
+++ trunk/boost/multi_index/global_fun.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/hashed_index.hpp
==============================================================================
--- trunk/boost/multi_index/hashed_index.hpp (original)
+++ trunk/boost/multi_index/hashed_index.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/hashed_index_fwd.hpp
==============================================================================
--- trunk/boost/multi_index/hashed_index_fwd.hpp (original)
+++ trunk/boost/multi_index/hashed_index_fwd.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/identity.hpp
==============================================================================
--- trunk/boost/multi_index/identity.hpp (original)
+++ trunk/boost/multi_index/identity.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/identity_fwd.hpp
==============================================================================
--- trunk/boost/multi_index/identity_fwd.hpp (original)
+++ trunk/boost/multi_index/identity_fwd.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/indexed_by.hpp
==============================================================================
--- trunk/boost/multi_index/indexed_by.hpp (original)
+++ trunk/boost/multi_index/indexed_by.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/key_extractors.hpp
==============================================================================
--- trunk/boost/multi_index/key_extractors.hpp (original)
+++ trunk/boost/multi_index/key_extractors.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/mem_fun.hpp
==============================================================================
--- trunk/boost/multi_index/mem_fun.hpp (original)
+++ trunk/boost/multi_index/mem_fun.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/member.hpp
==============================================================================
--- trunk/boost/multi_index/member.hpp (original)
+++ trunk/boost/multi_index/member.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/ordered_index.hpp
==============================================================================
--- trunk/boost/multi_index/ordered_index.hpp (original)
+++ trunk/boost/multi_index/ordered_index.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/ordered_index_fwd.hpp
==============================================================================
--- trunk/boost/multi_index/ordered_index_fwd.hpp (original)
+++ trunk/boost/multi_index/ordered_index_fwd.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/random_access_index.hpp
==============================================================================
--- trunk/boost/multi_index/random_access_index.hpp (original)
+++ trunk/boost/multi_index/random_access_index.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/random_access_index_fwd.hpp
==============================================================================
--- trunk/boost/multi_index/random_access_index_fwd.hpp (original)
+++ trunk/boost/multi_index/random_access_index_fwd.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/safe_mode_errors.hpp
==============================================================================
--- trunk/boost/multi_index/safe_mode_errors.hpp (original)
+++ trunk/boost/multi_index/safe_mode_errors.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/sequenced_index.hpp
==============================================================================
--- trunk/boost/multi_index/sequenced_index.hpp (original)
+++ trunk/boost/multi_index/sequenced_index.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/sequenced_index_fwd.hpp
==============================================================================
--- trunk/boost/multi_index/sequenced_index_fwd.hpp (original)
+++ trunk/boost/multi_index/sequenced_index_fwd.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index/tag.hpp
==============================================================================
--- trunk/boost/multi_index/tag.hpp (original)
+++ trunk/boost/multi_index/tag.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index_container.hpp
==============================================================================
--- trunk/boost/multi_index_container.hpp (original)
+++ trunk/boost/multi_index_container.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/boost/multi_index_container_fwd.hpp
==============================================================================
--- trunk/boost/multi_index_container_fwd.hpp (original)
+++ trunk/boost/multi_index_container_fwd.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/doc/acknowledgements.html
==============================================================================
--- trunk/libs/multi_index/doc/acknowledgements.html (original)
+++ trunk/libs/multi_index/doc/acknowledgements.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/doc/compiler_specifics.html
==============================================================================
--- trunk/libs/multi_index/doc/compiler_specifics.html (original)
+++ trunk/libs/multi_index/doc/compiler_specifics.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 2008)
@@ -1012,7 +1012,7 @@
 </pre></blockquote>
 
 <p>
-Then, for instance, the type <code>employee_set::nth_type&lt;0&gt;::type</code>
+Then, for instance, the type <code>employee_set::nth_index&lt;0&gt;::type</code>
 resolves to the following in GCC:
 </p>
 
@@ -1075,7 +1075,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&lt;0&gt;::type</code>
+Applying this technique, <code>employee_set::nth_index&lt;0&gt;::type</code>
 now becomes:
 </p>
 
@@ -1121,7 +1121,7 @@
 
 <br>
 
-<p>Revised February 7th 2008</p>
+<p>Revised May 26th 2008</p>
 
 <p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
 Distributed under the Boost Software

Modified: trunk/libs/multi_index/doc/reference/hash_indices.html
==============================================================================
--- trunk/libs/multi_index/doc/reference/hash_indices.html (original)
+++ trunk/libs/multi_index/doc/reference/hash_indices.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 2008)
@@ -452,11 +452,11 @@
 
 <h4><a name="iterators">Iterators</a></h4>
 
-<code>iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);</br>
+<code>iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);<br>
 const_iterator iterator_to(const value_type&amp; 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&amp; 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&amp;</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&amp;</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&lt;<br>
 &nbsp;&nbsp;typename CompatibleKey,typename CompatibleHash, typename CompatiblePred<br>
 &gt;<br>
-std::pair&lt;iterator,iterator> equal_range(</br>
+std::pair&lt;iterator,iterator> equal_range(<br>
 &nbsp;&nbsp;const CompatibleKey&amp; x,<br>
 &nbsp;&nbsp;const CompatibleHash&amp; hash,const CompatiblePred&amp; 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local_iterator_to(const value_type&amp; x);</br>
+<code>local_iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local_iterator_to(const value_type&amp; x);<br>
 const_local_iterator local_iterator_to(const value_type&amp; 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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/doc/reference/key_extraction.html
==============================================================================
--- trunk/libs/multi_index/doc/reference/key_extraction.html (original)
+++ trunk/libs/multi_index/doc/reference/key_extraction.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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>&lt;y<sub>i</sub></code> and
 <code>y<sub>i</sub>&lt;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&lt;i>()(x<sub>i</sub>,y<sub>i</sub>)</code> and
 <code>key_eqs().get&lt;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&lt;i>()(x<sub>i</sub>,y<sub>i</sub>)</code>
@@ -1683,7 +1683,7 @@
 <code>key_comps().get&lt;i>()(x<sub>i</sub>,y<sub>i</sub>)</code> and
 <code>key_comps().get&lt;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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/doc/reference/multi_index_container.html
==============================================================================
--- trunk/libs/multi_index/doc/reference/multi_index_container.html (original)
+++ trunk/libs/multi_index/doc/reference/multi_index_container.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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>&amp;</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>&amp;</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>&amp;</span> <span class=identifier>al</span><span class=special>);</span>
   <span class=keyword>template</span><span class=special>&lt;</span><span class=keyword>typename</span> <span class=identifier>InputIterator</span><span class=special>&gt;</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&lt;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>
-&nbsp;&nbsp;const ctor_args_list&amp; comp=ctor_args_list(),<br>
+&nbsp;&nbsp;const ctor_args_list&amp; args_list=ctor_args_list(),<br>
 &nbsp;&nbsp;const allocator_type&amp; al=allocator_type());</code>
 
 <blockquote>
@@ -654,6 +655,14 @@
 <b>Complexity:</b> Constant.
 </blockquote>
 
+<code>explicit multi_index_container(const allocator_type&amp; 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&lt;typename InputIterator><br>
 multi_index_container(<br>
 &nbsp;&nbsp;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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/doc/reference/ord_indices.html
==============================================================================
--- trunk/libs/multi_index/doc/reference/ord_indices.html (original)
+++ trunk/libs/multi_index/doc/reference/ord_indices.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 2008)
@@ -462,11 +462,11 @@
 
 <h4><a name="iterators">Iterators</a></h4>
 
-<code>iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);</br>
+<code>iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);<br>
 const_iterator iterator_to(const value_type&amp; 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&amp; 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&amp;</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&amp;</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&lt;typename CompatibleKey,typename CompatibleCompare><br>
-std::pair&lt;iterator,iterator> equal_range(</br>
+std::pair&lt;iterator,iterator> equal_range(<br>
 &nbsp;&nbsp;const CompatibleKey&amp; x,const CompatibleCompare&amp; 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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/doc/reference/rnd_indices.html
==============================================================================
--- trunk/libs/multi_index/doc/reference/rnd_indices.html (original)
+++ trunk/libs/multi_index/doc/reference/rnd_indices.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);</br>
+<code>iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);<br>
 const_iterator iterator_to(const value_type&amp; 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&lt;iterator,bool> insert(iterator position,const value_type&amp; 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&amp; 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>&lt;</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&amp;</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>&amp;x!=this</code>.</br>
+<code>&amp;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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/doc/reference/seq_indices.html
==============================================================================
--- trunk/libs/multi_index/doc/reference/seq_indices.html (original)
+++ trunk/libs/multi_index/doc/reference/seq_indices.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);</br>
+<code>iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iterator_to(const value_type&amp; x);<br>
 const_iterator iterator_to(const value_type&amp; 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&lt;iterator,bool> insert(iterator position,const value_type&amp; 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&amp; 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>&lt;</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&amp;</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>&amp;x!=this</code>.</br>
+<code>&amp;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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/doc/release_notes.html
==============================================================================
--- trunk/libs/multi_index/doc/release_notes.html (original)
+++ trunk/libs/multi_index/doc/release_notes.html 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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&amp;)</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>&copy; Copyright 2003-2007 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>&copy; Copyright 2003-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;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: trunk/libs/multi_index/example/basic.cpp
==============================================================================
--- trunk/libs/multi_index/example/basic.cpp (original)
+++ trunk/libs/multi_index/example/basic.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/bimap.cpp
==============================================================================
--- trunk/libs/multi_index/example/bimap.cpp (original)
+++ trunk/libs/multi_index/example/bimap.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/complex_structs.cpp
==============================================================================
--- trunk/libs/multi_index/example/complex_structs.cpp (original)
+++ trunk/libs/multi_index/example/complex_structs.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/composite_keys.cpp
==============================================================================
--- trunk/libs/multi_index/example/composite_keys.cpp (original)
+++ trunk/libs/multi_index/example/composite_keys.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/fun_key.cpp
==============================================================================
--- trunk/libs/multi_index/example/fun_key.cpp (original)
+++ trunk/libs/multi_index/example/fun_key.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/hashed.cpp
==============================================================================
--- trunk/libs/multi_index/example/hashed.cpp (original)
+++ trunk/libs/multi_index/example/hashed.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/ip_allocator.cpp
==============================================================================
--- trunk/libs/multi_index/example/ip_allocator.cpp (original)
+++ trunk/libs/multi_index/example/ip_allocator.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/non_default_ctor.cpp
==============================================================================
--- trunk/libs/multi_index/example/non_default_ctor.cpp (original)
+++ trunk/libs/multi_index/example/non_default_ctor.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/random_access.cpp
==============================================================================
--- trunk/libs/multi_index/example/random_access.cpp (original)
+++ trunk/libs/multi_index/example/random_access.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/rearrange.cpp
==============================================================================
--- trunk/libs/multi_index/example/rearrange.cpp (original)
+++ trunk/libs/multi_index/example/rearrange.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/sequenced.cpp
==============================================================================
--- trunk/libs/multi_index/example/sequenced.cpp (original)
+++ trunk/libs/multi_index/example/sequenced.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/example/serialization.cpp
==============================================================================
--- trunk/libs/multi_index/example/serialization.cpp (original)
+++ trunk/libs/multi_index/example/serialization.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/perf/test_perf.cpp
==============================================================================
--- trunk/libs/multi_index/perf/test_perf.cpp (original)
+++ trunk/libs/multi_index/perf/test_perf.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/employee.hpp
==============================================================================
--- trunk/libs/multi_index/test/employee.hpp (original)
+++ trunk/libs/multi_index/test/employee.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/non_std_allocator.hpp
==============================================================================
--- trunk/libs/multi_index/test/non_std_allocator.hpp (original)
+++ trunk/libs/multi_index/test/non_std_allocator.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/pair_of_ints.hpp
==============================================================================
--- trunk/libs/multi_index/test/pair_of_ints.hpp (original)
+++ trunk/libs/multi_index/test/pair_of_ints.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/pre_multi_index.hpp
==============================================================================
--- trunk/libs/multi_index/test/pre_multi_index.hpp (original)
+++ trunk/libs/multi_index/test/pre_multi_index.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_all_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_all_main.cpp (original)
+++ trunk/libs/multi_index/test/test_all_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_basic.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_basic.cpp (original)
+++ trunk/libs/multi_index/test/test_basic.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_basic.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_basic.hpp (original)
+++ trunk/libs/multi_index/test/test_basic.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_basic_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_basic_main.cpp (original)
+++ trunk/libs/multi_index/test/test_basic_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_capacity.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_capacity.cpp (original)
+++ trunk/libs/multi_index/test/test_capacity.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_capacity.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_capacity.hpp (original)
+++ trunk/libs/multi_index/test/test_capacity.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_capacity_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_capacity_main.cpp (original)
+++ trunk/libs/multi_index/test/test_capacity_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_comparison.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_comparison.cpp (original)
+++ trunk/libs/multi_index/test/test_comparison.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_comparison.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_comparison.hpp (original)
+++ trunk/libs/multi_index/test/test_comparison.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_comparison_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_comparison_main.cpp (original)
+++ trunk/libs/multi_index/test/test_comparison_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_composite_key.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_composite_key.cpp (original)
+++ trunk/libs/multi_index/test/test_composite_key.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_composite_key.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_composite_key.hpp (original)
+++ trunk/libs/multi_index/test/test_composite_key.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_composite_key_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_composite_key_main.cpp (original)
+++ trunk/libs/multi_index/test/test_composite_key_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_conv_iterators.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_conv_iterators.cpp (original)
+++ trunk/libs/multi_index/test/test_conv_iterators.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_conv_iterators.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_conv_iterators.hpp (original)
+++ trunk/libs/multi_index/test/test_conv_iterators.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_conv_iterators_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_conv_iterators_main.cpp (original)
+++ trunk/libs/multi_index/test/test_conv_iterators_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_copy_assignment.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_copy_assignment.cpp (original)
+++ trunk/libs/multi_index/test/test_copy_assignment.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_copy_assignment.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_copy_assignment.hpp (original)
+++ trunk/libs/multi_index/test/test_copy_assignment.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_copy_assignment_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_copy_assignment_main.cpp (original)
+++ trunk/libs/multi_index/test/test_copy_assignment_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_hash_ops.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_hash_ops.cpp (original)
+++ trunk/libs/multi_index/test/test_hash_ops.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_hash_ops.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_hash_ops.hpp (original)
+++ trunk/libs/multi_index/test/test_hash_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_hash_ops_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_hash_ops_main.cpp (original)
+++ trunk/libs/multi_index/test/test_hash_ops_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_iterators.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_iterators.cpp (original)
+++ trunk/libs/multi_index/test/test_iterators.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_iterators.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_iterators.hpp (original)
+++ trunk/libs/multi_index/test/test_iterators.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_iterators_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_iterators_main.cpp (original)
+++ trunk/libs/multi_index/test/test_iterators_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_key_extractors.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_key_extractors.cpp (original)
+++ trunk/libs/multi_index/test/test_key_extractors.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_key_extractors.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_key_extractors.hpp (original)
+++ trunk/libs/multi_index/test/test_key_extractors.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_key_extractors_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_key_extractors_main.cpp (original)
+++ trunk/libs/multi_index/test/test_key_extractors_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_list_ops.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_list_ops.cpp (original)
+++ trunk/libs/multi_index/test/test_list_ops.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_list_ops.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_list_ops.hpp (original)
+++ trunk/libs/multi_index/test/test_list_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_list_ops_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_list_ops_main.cpp (original)
+++ trunk/libs/multi_index/test/test_list_ops_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_modifiers.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_modifiers.cpp (original)
+++ trunk/libs/multi_index/test/test_modifiers.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_modifiers.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_modifiers.hpp (original)
+++ trunk/libs/multi_index/test/test_modifiers.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_modifiers_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_modifiers_main.cpp (original)
+++ trunk/libs/multi_index/test/test_modifiers_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_mpl_ops.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_mpl_ops.cpp (original)
+++ trunk/libs/multi_index/test/test_mpl_ops.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_mpl_ops.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_mpl_ops.hpp (original)
+++ trunk/libs/multi_index/test/test_mpl_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_mpl_ops_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_mpl_ops_main.cpp (original)
+++ trunk/libs/multi_index/test/test_mpl_ops_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_observers.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_observers.cpp (original)
+++ trunk/libs/multi_index/test/test_observers.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_observers.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_observers.hpp (original)
+++ trunk/libs/multi_index/test/test_observers.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_observers_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_observers_main.cpp (original)
+++ trunk/libs/multi_index/test/test_observers_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_projection.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_projection.cpp (original)
+++ trunk/libs/multi_index/test/test_projection.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_projection.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_projection.hpp (original)
+++ trunk/libs/multi_index/test/test_projection.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_projection_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_projection_main.cpp (original)
+++ trunk/libs/multi_index/test/test_projection_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_range.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_range.cpp (original)
+++ trunk/libs/multi_index/test/test_range.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_range.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_range.hpp (original)
+++ trunk/libs/multi_index/test/test_range.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_range_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_range_main.cpp (original)
+++ trunk/libs/multi_index/test/test_range_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_rearrange.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_rearrange.cpp (original)
+++ trunk/libs/multi_index/test/test_rearrange.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_rearrange.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_rearrange.hpp (original)
+++ trunk/libs/multi_index/test/test_rearrange.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_rearrange_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_rearrange_main.cpp (original)
+++ trunk/libs/multi_index/test/test_rearrange_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_safe_mode.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_safe_mode.cpp (original)
+++ trunk/libs/multi_index/test/test_safe_mode.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_safe_mode.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_safe_mode.hpp (original)
+++ trunk/libs/multi_index/test/test_safe_mode.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_safe_mode_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_safe_mode_main.cpp (original)
+++ trunk/libs/multi_index/test/test_safe_mode_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization.cpp (original)
+++ trunk/libs/multi_index/test/test_serialization.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization.hpp (original)
+++ trunk/libs/multi_index/test/test_serialization.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization1.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization1.cpp (original)
+++ trunk/libs/multi_index/test/test_serialization1.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization1.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization1.hpp (original)
+++ trunk/libs/multi_index/test/test_serialization1.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization2.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization2.cpp (original)
+++ trunk/libs/multi_index/test/test_serialization2.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization2.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization2.hpp (original)
+++ trunk/libs/multi_index/test/test_serialization2.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization3.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization3.cpp (original)
+++ trunk/libs/multi_index/test/test_serialization3.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization3.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization3.hpp (original)
+++ trunk/libs/multi_index/test/test_serialization3.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization_main.cpp (original)
+++ trunk/libs/multi_index/test/test_serialization_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_serialization_template.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_serialization_template.hpp (original)
+++ trunk/libs/multi_index/test/test_serialization_template.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_set_ops.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_set_ops.cpp (original)
+++ trunk/libs/multi_index/test/test_set_ops.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_set_ops.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_set_ops.hpp (original)
+++ trunk/libs/multi_index/test/test_set_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_set_ops_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_set_ops_main.cpp (original)
+++ trunk/libs/multi_index/test/test_set_ops_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_special_set_ops.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_special_set_ops.cpp (original)
+++ trunk/libs/multi_index/test/test_special_set_ops.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_special_set_ops.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_special_set_ops.hpp (original)
+++ trunk/libs/multi_index/test/test_special_set_ops.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_special_set_ops_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_special_set_ops_main.cpp (original)
+++ trunk/libs/multi_index/test/test_special_set_ops_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_update.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_update.cpp (original)
+++ trunk/libs/multi_index/test/test_update.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_update.hpp
==============================================================================
--- trunk/libs/multi_index/test/test_update.hpp (original)
+++ trunk/libs/multi_index/test/test_update.hpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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: trunk/libs/multi_index/test/test_update_main.cpp
==============================================================================
--- trunk/libs/multi_index/test/test_update_main.cpp (original)
+++ trunk/libs/multi_index/test/test_update_main.cpp 2008-06-27 09:32:24 EDT (Fri, 27 Jun 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