$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r58115 - in sandbox/itl: boost/itl boost/itl/detail boost/itl/type_traits boost/itl_xt boost/itl_xt/detail boost/validate boost/validate/driver boost/validate/gentor boost/validate/laws boost/validate/loki_xt boost/validate/std/algorithm boost/validate/type boost/validate/validater libs/itl/doc libs/itl/doc/boostcon09 libs/itl/example/boost_party_ libs/itl/example/interval_ libs/itl/example/interval_container_ libs/itl/example/itvset_shell_ libs/itl/example/large_bitset_ libs/itl/example/man_power_ libs/itl/example/month_and_week_grid_ libs/itl/example/overlap_counter_ libs/itl/example/party_ libs/itl/example/partys_height_average_ libs/itl/example/partys_tallest_guests_ libs/itl/example/splititvmap_shell_ libs/itl/example/std_copy_ libs/itl/example/std_transform_ libs/itl/example/user_groups_ libs/itl/test/fastest_interval_map_ libs/itl/test/fastest_interval_map_infix_ libs/itl/test/fastest_interval_map_infix_mixed_ libs/itl/test/fastest_interval_map_mixed2_ libs/itl/test/fastest_interval_map_mixed_ libs/itl/test/fastest_interval_set_ libs/itl/test/fastest_interval_set_infix_ libs/itl/test/fastest_interval_set_mixed_ libs/itl/test/fastest_itl_interval_ libs/itl/test/fastest_itl_map_ libs/itl/test/fastest_partial_interval_quantifier_ libs/itl/test/fastest_separate_interval_set_ libs/itl/test/fastest_separate_interval_set_infix_ libs/itl/test/fastest_set_interval_set_ libs/itl/test/fastest_set_itl_set_ libs/itl/test/fastest_split_interval_map_ libs/itl/test/fastest_split_interval_map_infix_ libs/itl/test/fastest_split_interval_set_ libs/itl/test/fastest_split_interval_set_infix_ libs/itl/test/fastest_total_interval_quantifier_ libs/itl/test/test_casual_ libs/itl/test/test_combinable_ libs/itl/test/test_interval_map_ libs/itl/test/test_interval_map_infix_ libs/itl/test/test_interval_map_infix_mixed_ libs/itl/test/test_interval_map_mixed2_ libs/itl/test/test_interval_map_mixed_ libs/itl/test/test_interval_set_ libs/itl/test/test_interval_set_infix_ libs/itl/test/test_interval_set_mixed_ libs/itl/test/test_itl_interval_ libs/itl/test/test_itl_map_ libs/itl/test/test_partial_interval_quantifier_ libs/itl/test/test_separate_interval_set_ libs/itl/test/test_separate_interval_set_infix_ libs/itl/test/test_set_interval_set_ libs/itl/test/test_set_itl_set_ libs/itl/test/test_split_interval_map_ libs/itl/test/test_split_interval_map_infix_ libs/itl/test/test_split_interval_set_ libs/itl/test/test_split_interval_set_infix_ libs/itl/test/test_total_interval_quantifier_ libs/itl_xt/example/amount_cube_ libs/itl_xt/example/history_ libs/itl_xt/test/auto_itv_test_ libs/itl_xt/test/meta_functors_ libs/validate/example libs/validate/example/labat_bit_collector_ libs/validate/example/labat_collector_ libs/validate/example/labat_itl_morphic_ libs/validate/example/labat_itl_set_ libs/validate/example/labat_itv_bitset_ libs/validate/example/labat_map_copy_conformity_ libs/validate/example/labat_map_order_ libs/validate/example/labat_set_copy_conformity_ libs/validate/example/labat_set_order_ libs/validate/example/labat_signed_quantifier_ libs/validate/example/labat_single_ libs/validate/example/labat_sorted_associative_bitset_ libs/validate/example/labat_sorted_associative_bitset_back_ libs/validate/example/labat_sorted_associative_map_ libs/validate/example/labat_sorted_associative_map_back_ libs/validate/example/labat_sorted_associative_set_ libs/validate/example/labat_sorted_associative_set_back_ libs/validate/example/labat_unsigned_quantifier_ libs/validate/example/labat_val_relations_
From: afojgo_at_[hidden]
Date: 2009-12-03 10:50:37
Author: jofaber
Date: 2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
New Revision: 58115
URL: http://svn.boost.org/trac/boost/changeset/58115
Log:
Added law based tests for element_iterators and bit_element_iterators that work backwards.
Implemented new warning policy for msvc. Modifications on the documentation. Stable {msvc-9.0} 
Added:
   sandbox/itl/boost/itl/detail/interval_set_algo.hpp   (contents, props changed)
   sandbox/itl/boost/itl/detail/map_algo.hpp   (contents, props changed)
   sandbox/itl/boost/itl/detail/set_algo.hpp   (contents, props changed)
   sandbox/itl/boost/validate/driver/sorted_associative_bitset_back_driver.hpp   (contents, props changed)
   sandbox/itl/boost/validate/driver/sorted_associative_map_back_driver.hpp   (contents, props changed)
   sandbox/itl/boost/validate/driver/sorted_associative_set_back_driver.hpp   (contents, props changed)
   sandbox/itl/boost/validate/std/algorithm/relation.hpp   (contents, props changed)
   sandbox/itl/boost/validate/validater/sorted_associative_back_validater.hpp   (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_back_/
   sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_back_/labat_sorted_associative_bitset_back.cpp   (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_back_/vc9_labat_sorted_associative_bitset_back.vcproj   (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_map_back_/
   sandbox/itl/libs/validate/example/labat_sorted_associative_map_back_/labat_sorted_associative_map_back.cpp   (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_map_back_/vc9_labat_sorted_associative_map_back.vcproj   (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_back_/
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_back_/labat_sorted_associative_set_back.cpp   (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_back_/vc9_labat_sorted_associative_set_back.vcproj   (contents, props changed)
Removed:
   sandbox/itl/boost/itl/interval_set_algo.hpp
   sandbox/itl/boost/itl/map_algo.hpp
   sandbox/itl/boost/itl/set_algo.hpp
Binary files modified: 
   sandbox/itl/libs/itl/doc/boostcon09/intro_to_itl.odp
   sandbox/itl/libs/itl/doc/boostcon09/intro_to_itl.pdf
Text files modified: 
   sandbox/itl/boost/itl/detail/interval_subset_comparer.hpp                                                     |    13 ++++++                                  
   sandbox/itl/boost/itl/detail/mapped_reference.hpp                                                             |     5 ++                                      
   sandbox/itl/boost/itl/detail/subset_comparer.hpp                                                              |    13 ++++++                                  
   sandbox/itl/boost/itl/interval.hpp                                                                            |     6 +-                                      
   sandbox/itl/boost/itl/interval_base_map.hpp                                                                   |    10 +++++                                   
   sandbox/itl/boost/itl/interval_base_set.hpp                                                                   |     2                                         
   sandbox/itl/boost/itl/interval_map.hpp                                                                        |    17 +++++++--                               
   sandbox/itl/boost/itl/map.hpp                                                                                 |    10 +++++                                   
   sandbox/itl/boost/itl/separate_interval_set.hpp                                                               |     2                                         
   sandbox/itl/boost/itl/set.hpp                                                                                 |     4 +-                                      
   sandbox/itl/boost/itl/split_interval_map.hpp                                                                  |     8 ++++                                    
   sandbox/itl/boost/itl/type_traits/type_to_string.hpp                                                          |     1                                         
   sandbox/itl/boost/itl_xt/bits.hpp                                                                             |    33 +++--------------                       
   sandbox/itl/boost/itl_xt/detail/bit_element_iterator.hpp                                                      |    54 ++++++++++--------------------          
   sandbox/itl/boost/itl_xt/interval_bitset.hpp                                                                  |    12 ++++++                                  
   sandbox/itl/boost/itl_xt/list.hpp                                                                             |     2                                         
   sandbox/itl/boost/validate/driver/interval_bitset_driver.hpp                                                  |     1                                         
   sandbox/itl/boost/validate/driver/itl_relations_driver.hpp                                                    |     3 -                                       
   sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp                                              |     1                                         
   sandbox/itl/boost/validate/driver/map_order_driver.hpp                                                        |     3 -                                       
   sandbox/itl/boost/validate/driver/set_order_driver.hpp                                                        |     5 +-                                      
   sandbox/itl/boost/validate/driver/sorted_associative_bitset_driver.hpp                                        |    17 +++-----                                
   sandbox/itl/boost/validate/driver/sorted_associative_map_driver.hpp                                           |     5 +-                                      
   sandbox/itl/boost/validate/driver/sorted_associative_set_driver.hpp                                           |     7 +--                                     
   sandbox/itl/boost/validate/gentor/randomgentor.hpp                                                            |     6 +-                                      
   sandbox/itl/boost/validate/laws/atomic_equivalence.hpp                                                        |     7 ++-                                     
   sandbox/itl/boost/validate/loki_xt/Tuple.h                                                                    |     7 +--                                     
   sandbox/itl/boost/validate/std/algorithm/copy.hpp                                                             |    52 +++++++++++++++++++++++++++--           
   sandbox/itl/boost/validate/std/algorithm/set_algo.hpp                                                         |    55 ++++--------------------------          
   sandbox/itl/boost/validate/type/nat.hpp                                                                       |    14 -------                                 
   sandbox/itl/boost/validate/utility.hpp                                                                        |    16 +++++++++                               
   sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp                                         |    71 ++++++++++++++++----------------------- 
   sandbox/itl/libs/itl/doc/concepts.qbk                                                                         |     6 +--                                     
   sandbox/itl/libs/itl/doc/interface.qbk                                                                        |     2                                         
   sandbox/itl/libs/itl/doc/introduction.qbk                                                                     |     2                                         
   sandbox/itl/libs/itl/doc/itl.qbk                                                                              |    14 +++---                                  
   sandbox/itl/libs/itl/example/boost_party_/vc9_boost_party.vcproj                                              |     2                                         
   sandbox/itl/libs/itl/example/interval_/vc9_interval.vcproj                                                    |     2                                         
   sandbox/itl/libs/itl/example/interval_container_/vc9_interval_container.vcproj                                |     2                                         
   sandbox/itl/libs/itl/example/itvset_shell_/itvset_shell.cpp                                                   |     2                                         
   sandbox/itl/libs/itl/example/itvset_shell_/vc9_itvset_shell.vcproj                                            |     2                                         
   sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp                                                   |    11 ++---                                   
   sandbox/itl/libs/itl/example/man_power_/vc9_man_power.vcproj                                                  |     2                                         
   sandbox/itl/libs/itl/example/month_and_week_grid_/vc9_month_and_week_grid.vcproj                              |     2                                         
   sandbox/itl/libs/itl/example/overlap_counter_/vc9_overlap_counter.vcproj                                      |     2                                         
   sandbox/itl/libs/itl/example/party_/vc9_party.vcproj                                                          |     2                                         
   sandbox/itl/libs/itl/example/partys_height_average_/vc9_partys_height_average.vcproj                          |     2                                         
   sandbox/itl/libs/itl/example/partys_tallest_guests_/vc9_partys_tallest_guests.vcproj                          |     2                                         
   sandbox/itl/libs/itl/example/splititvmap_shell_/vc9_splititvmap_shell.vcproj                                  |     2                                         
   sandbox/itl/libs/itl/example/std_copy_/vc9_std_copy.vcproj                                                    |     2                                         
   sandbox/itl/libs/itl/example/std_transform_/vc9_std_transform.vcproj                                          |     2                                         
   sandbox/itl/libs/itl/example/user_groups_/vc9_user_groups.vcproj                                              |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_map_/vc9_fastest_interval_map.vcproj                               |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_map_infix_/vc9_fastest_interval_map_infix.vcproj                   |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_map_infix_mixed_/vc9_fastest_interval_map_infix_mixed.vcproj       |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_map_mixed2_/vc9_fastest_interval_map_mixed2.vcproj                 |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_map_mixed_/vc9_fastest_interval_map_mixed.vcproj                   |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_set_/vc9_fastest_interval_set.vcproj                               |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_set_infix_/vc9_fastest_interval_set_infix.vcproj                   |     2                                         
   sandbox/itl/libs/itl/test/fastest_interval_set_mixed_/vc9_fastest_interval_set_mixed.vcproj                   |     2                                         
   sandbox/itl/libs/itl/test/fastest_itl_interval_/vc9_fastest_itl_interval.vcproj                               |     2                                         
   sandbox/itl/libs/itl/test/fastest_itl_map_/vc9_fastest_itl_map.vcproj                                         |     2                                         
   sandbox/itl/libs/itl/test/fastest_partial_interval_quantifier_/vc9_fastest_partial_interval_quantifier.vcproj |     2                                         
   sandbox/itl/libs/itl/test/fastest_separate_interval_set_/vc9_fastest_separate_interval_set.vcproj             |     2                                         
   sandbox/itl/libs/itl/test/fastest_separate_interval_set_infix_/vc9_fastest_separate_interval_set_infix.vcproj |     2                                         
   sandbox/itl/libs/itl/test/fastest_set_interval_set_/vc9_fastest_set_interval_set.vcproj                       |     2                                         
   sandbox/itl/libs/itl/test/fastest_set_itl_set_/vc9_fastest_set_itl_set.vcproj                                 |     2                                         
   sandbox/itl/libs/itl/test/fastest_split_interval_map_/vc9_fastest_split_interval_map.vcproj                   |     2                                         
   sandbox/itl/libs/itl/test/fastest_split_interval_map_infix_/vc9_fastest_split_interval_map_infix.vcproj       |     2                                         
   sandbox/itl/libs/itl/test/fastest_split_interval_set_/vc9_fastest_split_interval_set.vcproj                   |     2                                         
   sandbox/itl/libs/itl/test/fastest_split_interval_set_infix_/vc9_fastest_split_interval_set_infix.vcproj       |     2                                         
   sandbox/itl/libs/itl/test/fastest_total_interval_quantifier_/vc9_fastest_total_interval_quantifier.vcproj     |     2                                         
   sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp                                                        |    18 +++++++++                               
   sandbox/itl/libs/itl/test/test_casual_/vc9_test_casual.vcproj                                                 |     2                                         
   sandbox/itl/libs/itl/test/test_combinable_/vc9_test_combinable.vcproj                                         |     2                                         
   sandbox/itl/libs/itl/test/test_interval_map_/vc9_test_interval_map.vcproj                                     |     2                                         
   sandbox/itl/libs/itl/test/test_interval_map_infix_/vc9_test_interval_map_infix.vcproj                         |     2                                         
   sandbox/itl/libs/itl/test/test_interval_map_infix_mixed_/vc9_test_interval_map_infix_mixed.vcproj             |     2                                         
   sandbox/itl/libs/itl/test/test_interval_map_mixed2_/vc9_test_interval_map_mixed2.vcproj                       |     2                                         
   sandbox/itl/libs/itl/test/test_interval_map_mixed_/vc9_test_interval_map_mixed.vcproj                         |     2                                         
   sandbox/itl/libs/itl/test/test_interval_set_/vc9_test_interval_set.vcproj                                     |     2                                         
   sandbox/itl/libs/itl/test/test_interval_set_infix_/vc9_test_interval_set_infix.vcproj                         |     2                                         
   sandbox/itl/libs/itl/test/test_interval_set_mixed_/vc9_test_interval_set_mixed.vcproj                         |     2                                         
   sandbox/itl/libs/itl/test/test_itl_interval_/vc9_test_itl_interval.vcproj                                     |     2                                         
   sandbox/itl/libs/itl/test/test_itl_map_/vc9_test_itl_map.vcproj                                               |     2                                         
   sandbox/itl/libs/itl/test/test_partial_interval_quantifier_/vc9_test_partial_interval_quantifier.vcproj       |     2                                         
   sandbox/itl/libs/itl/test/test_separate_interval_set_/vc9_test_separate_interval_set.vcproj                   |     2                                         
   sandbox/itl/libs/itl/test/test_separate_interval_set_infix_/vc9_test_separate_interval_set_infix.vcproj       |     2                                         
   sandbox/itl/libs/itl/test/test_set_interval_set_/vc9_test_set_interval_set.vcproj                             |     2                                         
   sandbox/itl/libs/itl/test/test_set_itl_set_/vc9_test_set_itl_set.vcproj                                       |     2                                         
   sandbox/itl/libs/itl/test/test_split_interval_map_/vc9_test_split_interval_map.vcproj                         |     2                                         
   sandbox/itl/libs/itl/test/test_split_interval_map_infix_/vc9_test_split_interval_map_infix.vcproj             |     2                                         
   sandbox/itl/libs/itl/test/test_split_interval_set_/vc9_test_split_interval_set.vcproj                         |     2                                         
   sandbox/itl/libs/itl/test/test_split_interval_set_infix_/vc9_test_split_interval_set_infix.vcproj             |     2                                         
   sandbox/itl/libs/itl/test/test_total_interval_quantifier_/vc9_test_total_interval_quantifier.vcproj           |     2                                         
   sandbox/itl/libs/itl_xt/example/amount_cube_/vc9_amount_cube.vcproj                                           |     2                                         
   sandbox/itl/libs/itl_xt/example/history_/vc9_history.vcproj                                                   |     2                                         
   sandbox/itl/libs/itl_xt/test/auto_itv_test_/vc9_auto_itv_test.vcproj                                          |     2                                         
   sandbox/itl/libs/itl_xt/test/meta_functors_/vc9_meta_functors.vcproj                                          |     2                                         
   sandbox/itl/libs/validate/example/labat_bit_collector_/vc9_labat_bit_collector.vcproj                         |     2                                         
   sandbox/itl/libs/validate/example/labat_collector_/vc9_labat_collector.vcproj                                 |     2                                         
   sandbox/itl/libs/validate/example/labat_itl_morphic_/vc9_labat_itl_morphic.vcproj                             |     2                                         
   sandbox/itl/libs/validate/example/labat_itl_set_/vc9_labat_itl_set.vcproj                                     |     2                                         
   sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj                               |     2                                         
   sandbox/itl/libs/validate/example/labat_map_copy_conformity_/vc9_labat_map_copy_conformity.vcproj             |     2                                         
   sandbox/itl/libs/validate/example/labat_map_order_/vc9_labat_map_order.vcproj                                 |     2                                         
   sandbox/itl/libs/validate/example/labat_set_copy_conformity_/vc9_labat_set_copy_conformity.vcproj             |     2                                         
   sandbox/itl/libs/validate/example/labat_set_order_/vc9_labat_set_order.vcproj                                 |     2                                         
   sandbox/itl/libs/validate/example/labat_signed_quantifier_/vc9_labat_signed_quantifier.vcproj                 |     2                                         
   sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp                                              |     8 ++--                                    
   sandbox/itl/libs/validate/example/labat_single_/vc9_labat_single.vcproj                                       |     2                                         
   sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/vc9_labat_sorted_associative_bitset.vcproj |     2                                         
   sandbox/itl/libs/validate/example/labat_sorted_associative_map_/vc9_labat_sorted_associative_map.vcproj       |     6 +-                                      
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_/labat_sorted_associative_set.cpp              |     2                                         
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_/vc9_labat_sorted_associative_set.vcproj       |     2                                         
   sandbox/itl/libs/validate/example/labat_unsigned_quantifier_/vc9_labat_unsigned_quantifier.vcproj             |     2                                         
   sandbox/itl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj                         |     2                                         
   sandbox/itl/libs/validate/example/vc9_validate_examples.sln                                                   |    18 ++++++++++                              
   118 files changed, 374 insertions(+), 327 deletions(-)
Added: sandbox/itl/boost/itl/detail/interval_set_algo.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/itl/detail/interval_set_algo.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,205 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_ITL_INTERVAL_SET_ALGO_HPP_JOFA_081005
+#define BOOST_ITL_INTERVAL_SET_ALGO_HPP_JOFA_081005
+
+#include <boost/itl/type_traits/is_map.hpp>
+#include <boost/itl/detail/notate.hpp>
+#include <boost/itl/detail/relation_state.hpp>
+#include <boost/itl/type_traits/neutron.hpp>
+#include <boost/itl/interval.hpp>
+#include <boost/itl/detail/element_comparer.hpp>
+#include <boost/itl/detail/interval_subset_comparer.hpp>
+
+namespace boost{namespace itl
+{
+
+template <class IntervalContainerT>
+typename IntervalContainerT::size_type continuous_cardinality(const IntervalContainerT& object)
+{
+    typedef typename IntervalContainerT::size_type size_type;
+    typedef typename IntervalContainerT::interval_type interval_type;
+
+    size_type size = neutron<size_type>::value();
+    size_type interval_size;
+    ITL_const_FORALL(typename IntervalContainerT, it, object)
+    {
+        interval_size = continuous_interval<interval_type>::cardinality(IntervalContainerT::key_value(it));
+        if(interval_size == std::numeric_limits<size_type>::infinity())
+            return interval_size;
+        else
+            size += interval_size;
+    }
+    return size;
+}
+
+template <class IntervalContainerT>
+typename IntervalContainerT::size_type discrete_cardinality(const IntervalContainerT& object)
+{
+    typedef typename IntervalContainerT::size_type size_type;
+    typedef typename IntervalContainerT::interval_type interval_type;
+
+    size_type size = neutron<size_type>::value();
+    ITL_const_FORALL(typename IntervalContainerT, it, object)
+        size += discrete_interval<interval_type>::cardinality(IntervalContainerT::key_value(it));
+    return size;
+}
+
+struct continuous_interval_container
+{
+    template<class IntervalContainerT> 
+    static typename IntervalContainerT::size_type 
+        cardinality(const IntervalContainerT& cont) 
+    { return continuous_cardinality(cont); }
+};
+
+struct discrete_interval_container
+{
+    template<class IntervalContainerT> 
+    static typename IntervalContainerT::size_type 
+        cardinality(const IntervalContainerT& cont) 
+    { return discrete_cardinality(cont); }
+};
+
+
+namespace Interval_Set
+{
+
+//------------------------------------------------------------------------------
+// Lexicographical comparison on ranges of two interval container 
+//------------------------------------------------------------------------------
+
+template<class LeftT, class RightT>
+bool is_element_equal(const LeftT& left, const RightT& right)
+{
+    return subset_compare
+            (
+                left, right, 
+                left.begin(), left.end(), 
+                right.begin(), right.end()
+            ) == inclusion::equal;
+}
+
+template<class LeftT, class RightT>
+bool is_element_less(const LeftT& left, const RightT& right)
+{
+    return element_compare
+            (
+                left, right, 
+                left.begin(), left.end(), 
+                right.begin(), right.end()
+            )  == comparison::less;
+}
+
+template<class LeftT, class RightT>
+bool is_element_greater(const LeftT& left, const RightT& right)
+{
+    return element_compare
+            (
+                left, right, 
+                left.begin(), left.end(), 
+                right.begin(), right.end()
+            )  == comparison::greater;
+}
+
+//------------------------------------------------------------------------------
+// Subset/superset compare on ranges of two interval container 
+//------------------------------------------------------------------------------
+
+template<class LeftT, class RightT>
+bool is_inclusion_equal(const LeftT& left, const RightT& right)
+{
+    return subset_compare
+            (
+                left, right, 
+                left.begin(), left.end(), 
+                right.begin(), right.end()
+            ) == inclusion::equal;
+}
+
+template<class LeftT, class RightT>
+bool is_contained_in(const LeftT& sub, const RightT& super)
+{
+    int result =
+        subset_compare
+        (
+            sub, super, 
+            sub.begin(), sub.end(), 
+            super.begin(), super.end()
+        );
+    return result == inclusion::subset || result == inclusion::equal;
+}
+
+template<class LeftT, class RightT>
+bool contains(const LeftT& super, const RightT& sub)
+{
+    int result =
+        subset_compare
+        (
+            super, sub, 
+            super.begin(), super.end(), 
+            sub.begin(), sub.end()
+        );
+    return result == inclusion::superset || result == inclusion::equal;
+}
+
+template<class IntervalContainerT>
+bool is_joinable(const IntervalContainerT& container, 
+                 typename IntervalContainerT::const_iterator first, 
+                 typename IntervalContainerT::const_iterator past) 
+{
+    if(first == container.end())
+        return true;
+
+    typename IntervalContainerT::const_iterator it_ = first, next_ = first;
+    ++next_;
+
+    if(is_interval_map<IntervalContainerT>::value)
+    {
+        const typename IntervalContainerT::codomain_type& co_value 
+            = IntervalContainerT::codomain_value(first);
+        while(it_ != past)
+        {
+            if(IntervalContainerT::codomain_value(next_) != co_value)
+                return false;
+            if(!IntervalContainerT::key_value(it_++).touches(IntervalContainerT::key_value(next_++)))
+                return false;
+        }
+    }
+    else
+        while(next_ != container.end() && it_ != past)
+            if(!IntervalContainerT::key_value(it_++).touches(IntervalContainerT::key_value(next_++)))
+                return false;
+
+    return true;
+}
+
+template<class IntervalContainerT>
+bool is_dense(const IntervalContainerT& container, 
+              typename IntervalContainerT::const_iterator first, 
+              typename IntervalContainerT::const_iterator past) 
+{
+    if(first == container.end())
+        return true;
+
+    typename IntervalContainerT::const_iterator it_ = first, next_ = first;
+    ++next_;
+
+    while(next_ != container.end() && it_ != past)
+        if(!IntervalContainerT::key_value(it_++).touches(IntervalContainerT::key_value(next_++)))
+            return false;
+
+    return true;
+}
+
+} // namespace Interval_Set
+    
+}} // namespace itl boost
+
+#endif 
+
Modified: sandbox/itl/boost/itl/detail/interval_subset_comparer.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/interval_subset_comparer.hpp	(original)
+++ sandbox/itl/boost/itl/detail/interval_subset_comparer.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -20,6 +20,11 @@
 namespace boost{namespace itl
 {
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4127) // conditional expression is constant
+#endif                        
+
 namespace Interval_Set
 {
 
@@ -49,7 +54,7 @@
 template<class LeftT, class RightT>
 struct empty_codomain_compare
 {
-    static int apply(typename LeftT::const_iterator& left_, typename RightT::const_iterator& right_)
+    static int apply(typename LeftT::const_iterator&, typename RightT::const_iterator)
     {
         return inclusion::equal;
     }
@@ -80,6 +85,8 @@
 template<class LeftT, class RightT>
 class subset_comparer
 {
+private:
+	subset_comparer& operator = (const subset_comparer&);
 public:
     typedef typename LeftT::const_iterator  LeftIterT;
     typedef typename RightT::const_iterator RightIterT;
@@ -351,6 +358,10 @@
 
 } // namespace Interval_Set
     
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
+
 }} // namespace itl boost
 
 #endif 
Added: sandbox/itl/boost/itl/detail/map_algo.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/itl/detail/map_algo.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,194 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_ITL_MAPALGO_HPP_JOFA_080225
+#define BOOST_ITL_MAPALGO_HPP_JOFA_080225
+
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/or.hpp>
+#include <boost/mpl/not.hpp>
+#include <boost/itl/detail/notate.hpp>
+#include <boost/itl/detail/set_algo.hpp>
+
+namespace boost{namespace itl
+{
+namespace Map 
+{
+
+template<class MapType>
+bool contained_in(const MapType& sub, const MapType& super)
+{
+    if(&super == &sub)                   return true;
+    if(sub.empty())                      return true;
+    if(super.empty())                    return false;
+    if(super.size()    < sub.size()    ) return false;
+    if(*sub.begin()    < *super.begin()) return false;
+    if(*super.rbegin() < *sub.rbegin() ) return false;
+
+    typename MapType::const_iterator common_lwb_;
+    typename MapType::const_iterator common_upb_;
+    if(!Set::common_range(common_lwb_, common_upb_, sub, super))
+        return false;
+
+    typename MapType::const_iterator sub_ = sub.begin(), super_;
+    while(sub_ != sub.end())
+    {
+        super_ = super.find((*sub_).first);
+        if(super_ == super.end()) 
+            return false;
+        else if(!(sub_->second == super_->second))
+            return false;
+        sub_++;
+    }
+    return true;
+}
+
+template<class MapType>
+bool contained_in(const typename MapType::set_type& sub, const MapType& super)
+{
+    typedef typename MapType::set_type SetType;
+
+    if(sub.empty())                      return true;
+    if(super.empty())                    return false;
+    if(super.size()    < sub.size()    ) return false;
+    if(*sub.begin()    < *super.begin()) return false;
+    if(*super.rbegin() < *sub.rbegin() ) return false;
+
+    typename SetType::const_iterator common_lwb_;
+    typename SetType::const_iterator common_upb_;
+    if(!Set::common_range(common_lwb_, common_upb_, sub, super))
+        return false;
+
+    typename SetType::const_iterator sub_ = sub.begin();
+    typename MapType::const_iterator super_;
+    while(sub_ != sub.end())
+    {
+        super_ = super.find(*sub_++);
+        if(super_ == super.end()) 
+            return false;
+    }
+    return true;
+}
+
+
+template <class MapType>
+bool intersects(const MapType& left, const MapType& right)
+{
+    typename MapType::const_iterator right_common_lower_;
+    typename MapType::const_iterator right_common_upper_;
+    if(!Set::common_range(right_common_lower_, right_common_upper_, right, left))
+        return false;
+
+    typename MapType::const_iterator right_ = right_common_lower_;
+    while(right_ != right_common_upper_)
+        if(left.intersects(*right_++))
+            return true;
+
+    return false;
+}
+
+template <class ObjectT, class CoObjectT>
+bool key_intersects(const ObjectT& left, const CoObjectT& right)
+{
+    typename CoObjectT::const_iterator right_common_lower_;
+    typename CoObjectT::const_iterator right_common_upper_;
+    if(!Set::common_range(right_common_lower_, right_common_upper_, right, left))
+        return false;
+
+    typename CoObjectT::const_iterator right_ = right_common_lower_;
+    while(right_ != right_common_upper_)
+        if(left.intersects(CoObjectT::key_value(right_++)))
+            return true;
+
+    return false;
+}
+
+//----------------------------------------------------------------------
+// flip
+//----------------------------------------------------------------------
+template<class MapType>
+void flip(MapType& result, const MapType& x2)
+{
+    if(mpl::and_<is_total<MapType>, absorbs_neutrons<MapType> >::value)
+    {
+        result.clear();
+        return;
+    }
+
+    typename MapType::const_iterator x2_ = x2.begin(), cur_x2_, x1_;
+    while(x2_ != x2.end()) 
+    {
+        cur_x2_ = x2_;
+        std::pair<typename MapType::iterator,bool> insertion 
+            = result.insert(*x2_++);
+        if(!insertion.second)
+        {
+            //result.erase(insertion.first);
+            if(is_set<typename MapType::codomain_type>::value)
+            {
+                typename MapType::iterator res_ = insertion.first;
+                typename MapType::codomain_type common_value = res_->second;
+                typename MapType::key_type key_value = res_->first;
+                typename MapType::inverse_codomain_intersect()(common_value, cur_x2_->second);
+                result.subtract(*res_);
+                result.add(typename MapType::value_type(key_value, common_value));
+            }
+            else
+                result.subtract(*insertion.first);
+        }
+    }
+
+    if(mpl::and_<is_total<MapType>, mpl::not_<absorbs_neutrons<MapType> > >::value)
+        ITL_FORALL(typename MapType, it_, result)
+            it_->second = neutron<typename MapType::codomain_type>::value();
+}
+
+
+
+template<class MapType>
+typename MapType::const_iterator next_proton(typename MapType::const_iterator& iter_, const MapType& object)
+{
+    while(   iter_ != object.end() 
+          && iter_->second == neutron<typename MapType::codomain_type>::value())
+        ++iter_;
+
+    return iter_;
+}
+
+/** Function template <tt>lexicographical_equal</tt> implements 
+lexicographical equality except for neutronic content values. */
+template<class MapType>
+bool lexicographical_protonic_equal(const MapType& left, const MapType& right)
+{
+    if(&left == &right)        
+        return true;
+
+    typename MapType::const_iterator left_  = left.begin();
+    typename MapType::const_iterator right_ = right.begin();
+
+    left_  = next_proton(left_,  left);
+    right_ = next_proton(right_, right);
+
+    while(left_ != left.end() && right_ != right.end())
+    {
+        if(!(left_->first == right_->first && left_->second == right_->second))
+            return false;
+
+        ++left_;
+        ++right_;
+        left_  = next_proton(left_,  left);
+        right_ = next_proton(right_, right);
+    }
+
+    return left_ == left.end() && right_ == right.end();
+}
+
+} // namespace Map
+}} // namespace boost itl
+
+#endif
+
Modified: sandbox/itl/boost/itl/detail/mapped_reference.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/mapped_reference.hpp	(original)
+++ sandbox/itl/boost/itl/detail/mapped_reference.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -15,8 +15,11 @@
 {
 
 template<class FirstT, class SecondT>
-struct mapped_reference
+class mapped_reference
 {
+private:
+	mapped_reference& operator = (const mapped_reference&);
+public:
     typedef FirstT  first_type;   
     typedef SecondT second_type; 
     typedef mapped_reference type;
Added: sandbox/itl/boost/itl/detail/set_algo.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/itl/detail/set_algo.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,208 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_ITL_SET_ALGO_HPP_JOFA_990225
+#define BOOST_ITL_SET_ALGO_HPP_JOFA_990225
+
+#include <boost/itl/detail/notate.hpp>
+#include <boost/itl/predicates.hpp>
+#include <boost/itl/functors.hpp>
+
+/*
+<b>SetAlgo </b>
+SetAlgo is a collection of algorithms that work with sets but may also
+used with other set-implementations like e.g. hash_set.
+*/
+
+namespace boost{namespace itl
+{
+
+    namespace Set
+    {
+
+        template<class ObjectT, class ConstObjectT, class IteratorT>
+        bool common_range(IteratorT& lwb, IteratorT& upb, ObjectT& x1, const ConstObjectT& x2)
+        {
+            // lwb and upb are iterator of x1 marking the lower and upper bound of
+            // the common range of x1 and x2.
+            typedef typename ConstObjectT::const_iterator ConstObject_iterator;
+
+            lwb = x1.end();
+            upb = x1.end();
+
+            if(x1.empty() || x2.empty()) 
+                return false;
+
+            IteratorT x1_fst_ = x1.begin();
+            IteratorT x1_lst_ = x1.end(); x1_lst_--;
+
+            ConstObject_iterator x2_fst_ = x2.begin();
+            ConstObject_iterator x2_lst_ = x2.end(); x2_lst_--;
+
+            typename ObjectT::key_compare key_less;
+
+            if(key_less(ObjectT::key_value(x1_lst_), ConstObjectT::key_value(x2_fst_))) // {x1}   {x2}
+                return false;
+            if(key_less(ConstObjectT::key_value(x2_lst_), ObjectT::key_value(x1_fst_))) // {x2}   {x1} 
+                return false;
+
+            // We do have a common range
+            lwb = x1.lower_bound(ConstObjectT::key_value(x2_fst_));
+            upb = x1.upper_bound(ConstObjectT::key_value(x2_lst_));
+
+            return true;
+        }
+
+        template<class ObjectT>
+        ObjectT& add(ObjectT& result, const ObjectT& x2)
+        {
+            if(&result == &x2)
+                return result;
+
+            typedef typename ObjectT::const_iterator Object_const_iterator;
+            typename ObjectT::iterator prior_ = result.end();
+            for(Object_const_iterator x2_ = x2.begin(); x2_ != x2.end(); x2_++)
+                prior_ = result.add(prior_, *x2_);
+
+            return result;
+        }
+
+
+        template<class ObjectT, class CoObjectT>
+        ObjectT& subtract(ObjectT& result, const CoObjectT& x2)
+        {
+            typename CoObjectT::const_iterator common_lwb_;
+            typename CoObjectT::const_iterator common_upb_;
+            if(!common_range(common_lwb_, common_upb_, x2, result))
+                return result;
+
+            typename CoObjectT::const_iterator x2_ = common_lwb_;
+            typename ObjectT::iterator common_;
+
+            while(x2_ != common_upb_)
+                result.subtract(*x2_++);
+
+            return result;
+        }
+
+        template<class ObjectT, class CoObjectT>
+        ObjectT& erase(ObjectT& result, const CoObjectT& x2)
+        {
+            typename CoObjectT::const_iterator common_lwb_;
+            typename CoObjectT::const_iterator common_upb_;
+            if(!common_range(common_lwb_, common_upb_, x2, result))
+                return result;
+
+            typename CoObjectT::const_iterator x2_ = common_lwb_;
+            typename ObjectT::iterator common_;
+
+            while(x2_ != common_upb_)
+                result.erase(*x2_++);
+
+            return result;
+        }
+
+
+        /** Function template <tt>contained_in</tt> implements the subset relation. 
+        <tt>contained_in(sub, super)</tt> is true if <tt>sub</tt> is contained in <tt>super</tt> */
+        template<class SetType>
+        bool contained_in(const SetType& sub, const SetType& super)
+        {
+            if(&super == &sub)                   return true;
+            if(sub.empty())                      return true;
+            if(super.empty())                    return false;
+            if(*sub.begin()    < *super.begin()) return false;
+            if(*super.rbegin() < *sub.rbegin() ) return false;
+
+            typename SetType::const_iterator common_lwb_;
+            typename SetType::const_iterator common_upb_;
+            if(!common_range(common_lwb_, common_upb_, sub, super))
+                return false;
+
+            typename SetType::const_iterator sub_ = common_lwb_, super_;
+            while(sub_ != common_upb_)
+            {
+                super_ = super.find(*sub_++);
+                if(super_ == super.end()) 
+                    return false;
+            }
+            return true;
+        }
+
+        template<class SetType>
+        bool intersects(const SetType& left, const SetType& right)
+        {
+            typename SetType::const_iterator common_lwb_right_;
+            typename SetType::const_iterator common_upb_right_;
+
+            if(!common_range(common_lwb_right_, common_upb_right_, right, left))
+                return false;
+
+            typename SetType::const_iterator right_ = common_lwb_right_, found_;
+
+            while(right_ != common_upb_right_)
+            {
+                found_ = left.find(*right_++);
+                if(found_ != left.end()) 
+                    return true; // found a common element
+            }
+            // found no common element
+            return false;    
+        }
+
+        template<class SetType>
+        inline bool is_disjoint(const SetType& left, const SetType& right)
+        {
+            return !intersects(left, right);
+        }
+
+
+        /** Function template <tt>lexicographical_equal</tt> implements 
+        lexicographical equality. */
+        template<class SetType>
+        bool lexicographical_equal(const SetType& left, const SetType& right)
+        {
+            if(&left == &right)        return true;
+            if(left.iterative_size() != right.iterative_size()) 
+                return false;
+
+            // so we have two sorted containers with equal element counts
+            typename SetType::const_iterator left_  = left.begin();
+            typename SetType::const_iterator right_ = right.begin();
+
+            while(left_ != left.end())
+            {
+                if(!(*left_==*right_))
+                    return false;
+            
+                ++left_; ++right_;
+            }
+
+            return true;
+        }
+
+
+        template<class SetType>
+        void flip(SetType& result, const SetType& x2)
+        {
+            typename SetType::const_iterator x2_ = x2.begin(), x1_;
+            while(x2_ != x2.end()) 
+            {
+                std::pair<typename SetType::iterator,bool> insertion = result.insert(*x2_++);
+                if(!insertion.second)
+                    result.erase(insertion.first);
+            }
+        }
+
+    } // namespace Set
+
+}} // namespace itl boost
+
+#endif
+
Modified: sandbox/itl/boost/itl/detail/subset_comparer.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/subset_comparer.hpp	(original)
+++ sandbox/itl/boost/itl/detail/subset_comparer.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -20,6 +20,11 @@
 namespace boost{namespace itl
 {
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4127) // conditional expression is constant
+#endif                        
+
 namespace Set
 {
 
@@ -49,7 +54,7 @@
 template<class LeftT, class RightT>
 struct empty_codomain_compare
 {
-    static int apply(typename LeftT::const_iterator& left_, typename RightT::const_iterator& right_)
+    static int apply(typename LeftT::const_iterator&, typename RightT::const_iterator&)
     {
         return inclusion::equal;
     }
@@ -80,6 +85,8 @@
 template<class LeftT, class RightT>
 class subset_comparer
 {
+private:
+	subset_comparer& operator = (const subset_comparer&);
 public:
     typedef typename LeftT::const_iterator  LeftIterT;
     typedef typename RightT::const_iterator RightIterT;
@@ -240,6 +247,10 @@
 
 } // namespace Set
     
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
+
 }} // namespace itl boost
 
 #endif 
Modified: sandbox/itl/boost/itl/interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval.hpp	(original)
+++ sandbox/itl/boost/itl/interval.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -490,13 +490,13 @@
                          : x.upper() - x.lower();
     }
 
-    static bool unaligned_lwb_equal(const IntervalT& x1, const IntervalT& x2)
+    static bool unaligned_lwb_equal(const IntervalT&, const IntervalT&)
     { return false; }
 
-    static bool unaligned_upb_equal(const IntervalT& x1, const IntervalT& x2)
+    static bool unaligned_upb_equal(const IntervalT&, const IntervalT&)
     { return false; }
 
-    static bool has_equal_border_touch(const IntervalT& x1, const IntervalT& x2)
+    static bool has_equal_border_touch(const IntervalT&, const IntervalT&)
     { return false; }
 };
 
Modified: sandbox/itl/boost/itl/interval_base_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_base_map.hpp	(original)
+++ sandbox/itl/boost/itl/interval_base_map.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -26,6 +26,12 @@
 namespace boost{namespace itl
 {
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4127) // conditional expression is constant
+#endif                        
+
+
 template<class DomainT, class CodomainT>
 struct mapping_pair
 {
@@ -1630,7 +1636,9 @@
     BOOST_STATIC_CONSTANT(bool, value = true); 
 };
 
-
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
 
 }} // namespace itl boost
 
Modified: sandbox/itl/boost/itl/interval_base_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_base_set.hpp	(original)
+++ sandbox/itl/boost/itl/interval_base_set.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -10,7 +10,7 @@
 #define __interval_base_set_h_JOFA_990223__
 
 #include <limits>
-#include <boost/itl/interval_set_algo.hpp>
+#include <boost/itl/detail/interval_set_algo.hpp>
 #include <boost/itl/set.hpp>
 #include <boost/itl/interval.hpp>
 #include <boost/itl/detail/notate.hpp>
Modified: sandbox/itl/boost/itl/interval_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_map.hpp	(original)
+++ sandbox/itl/boost/itl/interval_map.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -16,6 +16,11 @@
 namespace boost{namespace itl
 {
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4127) // conditional expression is constant
+#endif                        
+
 template<class DomainT, class CodomainT, class Traits, 
          ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section, 
          template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
@@ -159,7 +164,7 @@
     void add_segment(const interval_type& inter_val, const CodomainT& co_val, iterator& it_);
 
     template<class Combiner>
-    void subtract_main(const interval_type& inter_val, const CodomainT& co_val, 
+    void subtract_main(/*Cl const interval_type& inter_val,*/ const CodomainT& co_val, 
                        iterator& it_, iterator& end_  );
 
     void subtract_front(const interval_type& inter_val, const CodomainT& co_val, iterator& it_);
@@ -510,7 +515,7 @@
     iterator last_  = end_; --last_;
     iterator it_    = first_;
     subtract_front         (inter_val, co_val, it_);
-    subtract_main<Combiner>(inter_val, co_val, it_, last_);
+    subtract_main<Combiner>(           co_val, it_, last_);
     subtract_rear<Combiner>(inter_val, co_val, it_);
 }
 
@@ -518,7 +523,7 @@
 
 template <typename DomainT, typename CodomainT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
 inline void interval_map<DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc>
-    ::subtract_front(const interval_type& inter_val, const CodomainT& co_val, iterator& it_)
+    ::subtract_front(const interval_type& inter_val, const CodomainT&, iterator& it_)
 {
     interval_type left_resid = right_subtract(it_->first, inter_val);
 
@@ -534,7 +539,7 @@
 template <typename DomainT, typename CodomainT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
     template<class Combiner>
 inline void interval_map<DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc>
-    ::subtract_main(const interval_type& inter_val, const CodomainT& co_val, iterator& it_, iterator& last_)
+    ::subtract_main(/*CL const interval_type& inter_val,*/ const CodomainT& co_val, iterator& it_, iterator& last_)
 {
     while(it_ != last_)
     {
@@ -836,6 +841,10 @@
     }
 };
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
+
 }} // namespace itl boost
 
 #endif
Deleted: sandbox/itl/boost/itl/interval_set_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_set_algo.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
+++ (empty file)
@@ -1,205 +0,0 @@
-/*-----------------------------------------------------------------------------+
-Copyright (c) 2008-2009: Joachim Faulhaber
-+------------------------------------------------------------------------------+
-   Distributed under the Boost Software License, Version 1.0.
-      (See accompanying file LICENCE.txt or copy at
-           http://www.boost.org/LICENSE_1_0.txt)
-+-----------------------------------------------------------------------------*/
-#ifndef BOOST_ITL_INTERVAL_SET_ALGO_HPP_JOFA_081005
-#define BOOST_ITL_INTERVAL_SET_ALGO_HPP_JOFA_081005
-
-#include <boost/itl/type_traits/is_map.hpp>
-#include <boost/itl/detail/notate.hpp>
-#include <boost/itl/detail/relation_state.hpp>
-#include <boost/itl/type_traits/neutron.hpp>
-#include <boost/itl/interval.hpp>
-#include <boost/itl/detail/element_comparer.hpp>
-#include <boost/itl/detail/interval_subset_comparer.hpp>
-
-namespace boost{namespace itl
-{
-
-template <class IntervalContainerT>
-typename IntervalContainerT::size_type continuous_cardinality(const IntervalContainerT& object)
-{
-    typedef typename IntervalContainerT::size_type size_type;
-    typedef typename IntervalContainerT::interval_type interval_type;
-
-    size_type size = neutron<size_type>::value();
-    size_type interval_size;
-    ITL_const_FORALL(typename IntervalContainerT, it, object)
-    {
-        interval_size = continuous_interval<interval_type>::cardinality(IntervalContainerT::key_value(it));
-        if(interval_size == std::numeric_limits<size_type>::infinity())
-            return interval_size;
-        else
-            size += interval_size;
-    }
-    return size;
-}
-
-template <class IntervalContainerT>
-typename IntervalContainerT::size_type discrete_cardinality(const IntervalContainerT& object)
-{
-    typedef typename IntervalContainerT::size_type size_type;
-    typedef typename IntervalContainerT::interval_type interval_type;
-
-    size_type size = neutron<size_type>::value();
-    ITL_const_FORALL(typename IntervalContainerT, it, object)
-        size += discrete_interval<interval_type>::cardinality(IntervalContainerT::key_value(it));
-    return size;
-}
-
-struct continuous_interval_container
-{
-    template<class IntervalContainerT> 
-    static typename IntervalContainerT::size_type 
-        cardinality(const IntervalContainerT& cont) 
-    { return continuous_cardinality(cont); }
-};
-
-struct discrete_interval_container
-{
-    template<class IntervalContainerT> 
-    static typename IntervalContainerT::size_type 
-        cardinality(const IntervalContainerT& cont) 
-    { return discrete_cardinality(cont); }
-};
-
-
-namespace Interval_Set
-{
-
-//------------------------------------------------------------------------------
-// Lexicographical comparison on ranges of two interval container 
-//------------------------------------------------------------------------------
-
-template<class LeftT, class RightT>
-bool is_element_equal(const LeftT& left, const RightT& right)
-{
-    return subset_compare
-            (
-                left, right, 
-                left.begin(), left.end(), 
-                right.begin(), right.end()
-            ) == inclusion::equal;
-}
-
-template<class LeftT, class RightT>
-bool is_element_less(const LeftT& left, const RightT& right)
-{
-    return element_compare
-            (
-                left, right, 
-                left.begin(), left.end(), 
-                right.begin(), right.end()
-            )  == comparison::less;
-}
-
-template<class LeftT, class RightT>
-bool is_element_greater(const LeftT& left, const RightT& right)
-{
-    return element_compare
-            (
-                left, right, 
-                left.begin(), left.end(), 
-                right.begin(), right.end()
-            )  == comparison::greater;
-}
-
-//------------------------------------------------------------------------------
-// Subset/superset compare on ranges of two interval container 
-//------------------------------------------------------------------------------
-
-template<class LeftT, class RightT>
-bool is_inclusion_equal(const LeftT& left, const RightT& right)
-{
-    return subset_compare
-            (
-                left, right, 
-                left.begin(), left.end(), 
-                right.begin(), right.end()
-            ) == inclusion::equal;
-}
-
-template<class LeftT, class RightT>
-bool is_contained_in(const LeftT& sub, const RightT& super)
-{
-    int result =
-        subset_compare
-        (
-            sub, super, 
-            sub.begin(), sub.end(), 
-            super.begin(), super.end()
-        );
-    return result == inclusion::subset || result == inclusion::equal;
-}
-
-template<class LeftT, class RightT>
-bool contains(const LeftT& super, const RightT& sub)
-{
-    int result =
-        subset_compare
-        (
-            super, sub, 
-            super.begin(), super.end(), 
-            sub.begin(), sub.end()
-        );
-    return result == inclusion::superset || result == inclusion::equal;
-}
-
-template<class IntervalContainerT>
-bool is_joinable(const IntervalContainerT& container, 
-                 typename IntervalContainerT::const_iterator first, 
-                 typename IntervalContainerT::const_iterator past) 
-{
-    if(first == container.end())
-        return true;
-
-    typename IntervalContainerT::const_iterator it_ = first, next_ = first;
-    ++next_;
-
-    if(is_interval_map<IntervalContainerT>::value)
-    {
-        const typename IntervalContainerT::codomain_type& co_value 
-            = IntervalContainerT::codomain_value(first);
-        while(it_ != past)
-        {
-            if(IntervalContainerT::codomain_value(next_) != co_value)
-                return false;
-            if(!IntervalContainerT::key_value(it_++).touches(IntervalContainerT::key_value(next_++)))
-                return false;
-        }
-    }
-    else
-        while(next_ != container.end() && it_ != past)
-            if(!IntervalContainerT::key_value(it_++).touches(IntervalContainerT::key_value(next_++)))
-                return false;
-
-    return true;
-}
-
-template<class IntervalContainerT>
-bool is_dense(const IntervalContainerT& container, 
-              typename IntervalContainerT::const_iterator first, 
-              typename IntervalContainerT::const_iterator past) 
-{
-    if(first == container.end())
-        return true;
-
-    typename IntervalContainerT::const_iterator it_ = first, next_ = first;
-    ++next_;
-
-    while(next_ != container.end() && it_ != past)
-        if(!IntervalContainerT::key_value(it_++).touches(IntervalContainerT::key_value(next_++)))
-            return false;
-
-    return true;
-}
-
-} // namespace Interval_Set
-    
-}} // namespace itl boost
-
-#endif 
-
Modified: sandbox/itl/boost/itl/map.hpp
==============================================================================
--- sandbox/itl/boost/itl/map.hpp	(original)
+++ sandbox/itl/boost/itl/map.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -19,13 +19,18 @@
 #include <boost/itl/functors.hpp>
 #include <boost/itl/predicates.hpp>
 #include <boost/itl/set.hpp>
-#include <boost/itl/map_algo.hpp>
+#include <boost/itl/detail/map_algo.hpp>
 #include <map>
 
 
 namespace boost{namespace itl
 {
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4127) // conditional expression is constant
+#endif                        
+
 struct partial_absorber
 {
     enum { absorbs_neutrons = true };
@@ -1148,6 +1153,9 @@
     }
 };
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
 
 }} // namespace itl boost
 
Deleted: sandbox/itl/boost/itl/map_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/map_algo.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
+++ (empty file)
@@ -1,194 +0,0 @@
-/*-----------------------------------------------------------------------------+
-Copyright (c) 2007-2009: Joachim Faulhaber
-+------------------------------------------------------------------------------+
-   Distributed under the Boost Software License, Version 1.0.
-      (See accompanying file LICENCE.txt or copy at
-           http://www.boost.org/LICENSE_1_0.txt)
-+-----------------------------------------------------------------------------*/
-#ifndef BOOST_ITL_MAPALGO_HPP_JOFA_080225
-#define BOOST_ITL_MAPALGO_HPP_JOFA_080225
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/itl/detail/notate.hpp>
-#include <boost/itl/set_algo.hpp>
-
-namespace boost{namespace itl
-{
-namespace Map 
-{
-
-template<class MapType>
-bool contained_in(const MapType& sub, const MapType& super)
-{
-    if(&super == &sub)                   return true;
-    if(sub.empty())                      return true;
-    if(super.empty())                    return false;
-    if(super.size()    < sub.size()    ) return false;
-    if(*sub.begin()    < *super.begin()) return false;
-    if(*super.rbegin() < *sub.rbegin() ) return false;
-
-    typename MapType::const_iterator common_lwb_;
-    typename MapType::const_iterator common_upb_;
-    if(!Set::common_range(common_lwb_, common_upb_, sub, super))
-        return false;
-
-    typename MapType::const_iterator sub_ = sub.begin(), super_;
-    while(sub_ != sub.end())
-    {
-        super_ = super.find((*sub_).first);
-        if(super_ == super.end()) 
-            return false;
-        else if(!(sub_->second == super_->second))
-            return false;
-        sub_++;
-    }
-    return true;
-}
-
-template<class MapType>
-bool contained_in(const typename MapType::set_type& sub, const MapType& super)
-{
-    typedef typename MapType::set_type SetType;
-
-    if(sub.empty())                      return true;
-    if(super.empty())                    return false;
-    if(super.size()    < sub.size()    ) return false;
-    if(*sub.begin()    < *super.begin()) return false;
-    if(*super.rbegin() < *sub.rbegin() ) return false;
-
-    typename SetType::const_iterator common_lwb_;
-    typename SetType::const_iterator common_upb_;
-    if(!Set::common_range(common_lwb_, common_upb_, sub, super))
-        return false;
-
-    typename SetType::const_iterator sub_ = sub.begin();
-    typename MapType::const_iterator super_;
-    while(sub_ != sub.end())
-    {
-        super_ = super.find(*sub_++);
-        if(super_ == super.end()) 
-            return false;
-    }
-    return true;
-}
-
-
-template <class MapType>
-bool intersects(const MapType& left, const MapType& right)
-{
-    typename MapType::const_iterator right_common_lower_;
-    typename MapType::const_iterator right_common_upper_;
-    if(!Set::common_range(right_common_lower_, right_common_upper_, right, left))
-        return false;
-
-    typename MapType::const_iterator right_ = right_common_lower_;
-    while(right_ != right_common_upper_)
-        if(left.intersects(*right_++))
-            return true;
-
-    return false;
-}
-
-template <class ObjectT, class CoObjectT>
-bool key_intersects(const ObjectT& left, const CoObjectT& right)
-{
-    typename CoObjectT::const_iterator right_common_lower_;
-    typename CoObjectT::const_iterator right_common_upper_;
-    if(!Set::common_range(right_common_lower_, right_common_upper_, right, left))
-        return false;
-
-    typename CoObjectT::const_iterator right_ = right_common_lower_;
-    while(right_ != right_common_upper_)
-        if(left.intersects(CoObjectT::key_value(right_++)))
-            return true;
-
-    return false;
-}
-
-//----------------------------------------------------------------------
-// flip
-//----------------------------------------------------------------------
-template<class MapType>
-void flip(MapType& result, const MapType& x2)
-{
-    if(mpl::and_<is_total<MapType>, absorbs_neutrons<MapType> >::value)
-    {
-        result.clear();
-        return;
-    }
-
-    typename MapType::const_iterator x2_ = x2.begin(), cur_x2_, x1_;
-    while(x2_ != x2.end()) 
-    {
-        cur_x2_ = x2_;
-        std::pair<typename MapType::iterator,bool> insertion 
-            = result.insert(*x2_++);
-        if(!insertion.second)
-        {
-            //result.erase(insertion.first);
-            if(is_set<typename MapType::codomain_type>::value)
-            {
-                typename MapType::iterator res_ = insertion.first;
-                typename MapType::codomain_type common_value = res_->second;
-                typename MapType::key_type key_value = res_->first;
-                typename MapType::inverse_codomain_intersect()(common_value, cur_x2_->second);
-                result.subtract(*res_);
-                result.add(typename MapType::value_type(key_value, common_value));
-            }
-            else
-                result.subtract(*insertion.first);
-        }
-    }
-
-    if(mpl::and_<is_total<MapType>, mpl::not_<absorbs_neutrons<MapType> > >::value)
-        ITL_FORALL(typename MapType, it_, result)
-            it_->second = neutron<typename MapType::codomain_type>::value();
-}
-
-
-
-template<class MapType>
-typename MapType::const_iterator next_proton(typename MapType::const_iterator& iter_, const MapType& object)
-{
-    while(   iter_ != object.end() 
-          && iter_->second == neutron<typename MapType::codomain_type>::value())
-        ++iter_;
-
-    return iter_;
-}
-
-/** Function template <tt>lexicographical_equal</tt> implements 
-lexicographical equality except for neutronic content values. */
-template<class MapType>
-bool lexicographical_protonic_equal(const MapType& left, const MapType& right)
-{
-    if(&left == &right)        
-        return true;
-
-    typename MapType::const_iterator left_  = left.begin();
-    typename MapType::const_iterator right_ = right.begin();
-
-    left_  = next_proton(left_,  left);
-    right_ = next_proton(right_, right);
-
-    while(left_ != left.end() && right_ != right.end())
-    {
-        if(!(left_->first == right_->first && left_->second == right_->second))
-            return false;
-
-        ++left_;
-        ++right_;
-        left_  = next_proton(left_,  left);
-        right_ = next_proton(right_, right);
-    }
-
-    return left_ == left.end() && right_ == right.end();
-}
-
-} // namespace Map
-}} // namespace boost itl
-
-#endif
-
Modified: sandbox/itl/boost/itl/separate_interval_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/separate_interval_set.hpp	(original)
+++ sandbox/itl/boost/itl/separate_interval_set.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -141,7 +141,7 @@
 
 private:
     /// Treatment of adjoint intervals on insertion
-    void handle_neighbours(const iterator& it_){}
+    void handle_neighbours(const iterator&){}
 } ;
 
 
Modified: sandbox/itl/boost/itl/set.hpp
==============================================================================
--- sandbox/itl/boost/itl/set.hpp	(original)
+++ sandbox/itl/boost/itl/set.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -21,7 +21,7 @@
 #include <boost/itl/detail/notate.hpp>
 #include <boost/itl/detail/design_config.hpp>
 #include <boost/itl/detail/subset_comparer.hpp>
-#include <boost/itl/set_algo.hpp>
+#include <boost/itl/detail/set_algo.hpp>
 #include <boost/itl/predicates.hpp>
 
 #include <boost/utility/enable_if.hpp>
@@ -233,7 +233,7 @@
 
     /** \c make_element allows for a uniform notation of key comparison which
         is used for common algorithms on sets and maps. */
-    static value_type make_element(const key_type& key_val, const data_type& data_val)
+    static value_type make_element(const key_type& key_val, const data_type&)
     { return key_val; }
 
 };
Deleted: sandbox/itl/boost/itl/set_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/set_algo.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
+++ (empty file)
@@ -1,208 +0,0 @@
-/*-----------------------------------------------------------------------------+
-Copyright (c) 2007-2009: Joachim Faulhaber
-+------------------------------------------------------------------------------+
-Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+------------------------------------------------------------------------------+
-   Distributed under the Boost Software License, Version 1.0.
-      (See accompanying file LICENCE.txt or copy at
-           http://www.boost.org/LICENSE_1_0.txt)
-+-----------------------------------------------------------------------------*/
-#ifndef BOOST_ITL_SET_ALGO_HPP_JOFA_990225
-#define BOOST_ITL_SET_ALGO_HPP_JOFA_990225
-
-#include <boost/itl/detail/notate.hpp>
-#include <boost/itl/predicates.hpp>
-#include <boost/itl/functors.hpp>
-
-/*
-<b>SetAlgo </b>
-SetAlgo is a collection of algorithms that work with sets but may also
-used with other set-implementations like e.g. hash_set.
-*/
-
-namespace boost{namespace itl
-{
-
-    namespace Set
-    {
-
-        template<class ObjectT, class ConstObjectT, class IteratorT>
-        bool common_range(IteratorT& lwb, IteratorT& upb, ObjectT& x1, const ConstObjectT& x2)
-        {
-            // lwb and upb are iterator of x1 marking the lower and upper bound of
-            // the common range of x1 and x2.
-            typedef typename ConstObjectT::const_iterator ConstObject_iterator;
-
-            lwb = x1.end();
-            upb = x1.end();
-
-            if(x1.empty() || x2.empty()) 
-                return false;
-
-            IteratorT x1_fst_ = x1.begin();
-            IteratorT x1_lst_ = x1.end(); x1_lst_--;
-
-            ConstObject_iterator x2_fst_ = x2.begin();
-            ConstObject_iterator x2_lst_ = x2.end(); x2_lst_--;
-
-            typename ObjectT::key_compare key_less;
-
-            if(key_less(ObjectT::key_value(x1_lst_), ConstObjectT::key_value(x2_fst_))) // {x1}   {x2}
-                return false;
-            if(key_less(ConstObjectT::key_value(x2_lst_), ObjectT::key_value(x1_fst_))) // {x2}   {x1} 
-                return false;
-
-            // We do have a common range
-            lwb = x1.lower_bound(ConstObjectT::key_value(x2_fst_));
-            upb = x1.upper_bound(ConstObjectT::key_value(x2_lst_));
-
-            return true;
-        }
-
-        template<class ObjectT>
-        ObjectT& add(ObjectT& result, const ObjectT& x2)
-        {
-            if(&result == &x2)
-                return result;
-
-            typedef typename ObjectT::const_iterator Object_const_iterator;
-            typename ObjectT::iterator prior_ = result.end();
-            for(Object_const_iterator x2_ = x2.begin(); x2_ != x2.end(); x2_++)
-                prior_ = result.add(prior_, *x2_);
-
-            return result;
-        }
-
-
-        template<class ObjectT, class CoObjectT>
-        ObjectT& subtract(ObjectT& result, const CoObjectT& x2)
-        {
-            typename CoObjectT::const_iterator common_lwb_;
-            typename CoObjectT::const_iterator common_upb_;
-            if(!common_range(common_lwb_, common_upb_, x2, result))
-                return result;
-
-            typename CoObjectT::const_iterator x2_ = common_lwb_;
-            typename ObjectT::iterator common_;
-
-            while(x2_ != common_upb_)
-                result.subtract(*x2_++);
-
-            return result;
-        }
-
-        template<class ObjectT, class CoObjectT>
-        ObjectT& erase(ObjectT& result, const CoObjectT& x2)
-        {
-            typename CoObjectT::const_iterator common_lwb_;
-            typename CoObjectT::const_iterator common_upb_;
-            if(!common_range(common_lwb_, common_upb_, x2, result))
-                return result;
-
-            typename CoObjectT::const_iterator x2_ = common_lwb_;
-            typename ObjectT::iterator common_;
-
-            while(x2_ != common_upb_)
-                result.erase(*x2_++);
-
-            return result;
-        }
-
-
-        /** Function template <tt>contained_in</tt> implements the subset relation. 
-        <tt>contained_in(sub, super)</tt> is true if <tt>sub</tt> is contained in <tt>super</tt> */
-        template<class SetType>
-        bool contained_in(const SetType& sub, const SetType& super)
-        {
-            if(&super == &sub)                   return true;
-            if(sub.empty())                      return true;
-            if(super.empty())                    return false;
-            if(*sub.begin()    < *super.begin()) return false;
-            if(*super.rbegin() < *sub.rbegin() ) return false;
-
-            typename SetType::const_iterator common_lwb_;
-            typename SetType::const_iterator common_upb_;
-            if(!common_range(common_lwb_, common_upb_, sub, super))
-                return false;
-
-            typename SetType::const_iterator sub_ = common_lwb_, super_;
-            while(sub_ != common_upb_)
-            {
-                super_ = super.find(*sub_++);
-                if(super_ == super.end()) 
-                    return false;
-            }
-            return true;
-        }
-
-        template<class SetType>
-        bool intersects(const SetType& left, const SetType& right)
-        {
-            typename SetType::const_iterator common_lwb_right_;
-            typename SetType::const_iterator common_upb_right_;
-
-            if(!common_range(common_lwb_right_, common_upb_right_, right, left))
-                return false;
-
-            typename SetType::const_iterator right_ = common_lwb_right_, found_;
-
-            while(right_ != common_upb_right_)
-            {
-                found_ = left.find(*right_++);
-                if(found_ != left.end()) 
-                    return true; // found a common element
-            }
-            // found no common element
-            return false;    
-        }
-
-        template<class SetType>
-        inline bool is_disjoint(const SetType& left, const SetType& right)
-        {
-            return !intersects(left, right);
-        }
-
-
-        /** Function template <tt>lexicographical_equal</tt> implements 
-        lexicographical equality. */
-        template<class SetType>
-        bool lexicographical_equal(const SetType& left, const SetType& right)
-        {
-            if(&left == &right)        return true;
-            if(left.iterative_size() != right.iterative_size()) 
-                return false;
-
-            // so we have two sorted containers with equal element counts
-            typename SetType::const_iterator left_  = left.begin();
-            typename SetType::const_iterator right_ = right.begin();
-
-            while(left_ != left.end())
-            {
-                if(!(*left_==*right_))
-                    return false;
-            
-                ++left_; ++right_;
-            }
-
-            return true;
-        }
-
-
-        template<class SetType>
-        void flip(SetType& result, const SetType& x2)
-        {
-            typename SetType::const_iterator x2_ = x2.begin(), x1_;
-            while(x2_ != x2.end()) 
-            {
-                std::pair<typename SetType::iterator,bool> insertion = result.insert(*x2_++);
-                if(!insertion.second)
-                    result.erase(insertion.first);
-            }
-        }
-
-    } // namespace Set
-
-}} // namespace itl boost
-
-#endif
-
Modified: sandbox/itl/boost/itl/split_interval_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/split_interval_map.hpp	(original)
+++ sandbox/itl/boost/itl/split_interval_map.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -17,6 +17,11 @@
 namespace boost{namespace itl
 {
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4127) // conditional expression is constant
+#endif                        
+
 /** implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined. */
 template
 <
@@ -700,6 +705,9 @@
     }
 };
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
 
 }} // namespace itl boost
 
Modified: sandbox/itl/boost/itl/type_traits/type_to_string.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/type_to_string.hpp	(original)
+++ sandbox/itl/boost/itl/type_traits/type_to_string.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -28,6 +28,7 @@
 
 
     //--------------------------------------------------------------------------
+    template<>inline std::string type_to_string<bool>::apply() { return "bool"; }
     template<>inline std::string type_to_string<char>::apply() { return "char"; }
     template<>inline std::string type_to_string<short>::apply(){ return "short"; }
     template<>inline std::string type_to_string<int>::apply()  { return "int"; }
Modified: sandbox/itl/boost/itl_xt/bits.hpp
==============================================================================
--- sandbox/itl/boost/itl_xt/bits.hpp	(original)
+++ sandbox/itl/boost/itl_xt/bits.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -11,7 +11,6 @@
 
 #include <limits>
 #include <boost/operators.hpp>
-#include <boost/cstdint.hpp>
 #include <boost/itl_xt/meta_log.hpp>
 #include <boost/itl/type_traits/type_to_string.hpp>
 #include <boost/itl/type_traits/to_string.hpp>
@@ -103,11 +102,11 @@
     word_type _bits;
 };
 
-typedef unsigned int    nat; 
-typedef boost::uint8_t  nat8;
-typedef boost::uint16_t nat16;
-typedef boost::uint32_t nat32; 
-typedef boost::uint64_t nat64; 
+typedef unsigned int       nat; 
+typedef unsigned char      nat8;
+typedef unsigned short     nat16;
+typedef unsigned long      nat32; 
+typedef unsigned long long nat64; 
 
 typedef bits<nat8>  bits8;
 typedef bits<nat16> bits16;
@@ -178,7 +177,6 @@
     }
 };
 
-/*JODO redefinition for gcc.
 template<>
 struct count<nat32, 32>
 {
@@ -194,23 +192,6 @@
     }
 
 };
-*/
-
-template<>
-struct count<unsigned int, 32>
-{
-    typedef unsigned int            word_type;
-    typedef count<word_type,32> type;
-
-    static bit_range_type apply(word_type value)
-    { 
-        return table[ value        & 0xfful]
-             + table[(value >>  8) & 0xfful]
-             + table[(value >> 16) & 0xfful]
-             + table[(value >> 24) & 0xfful];
-    }
-
-};
 
 template<>
 struct count<nat64, 64>
@@ -246,8 +227,8 @@
 
 template <>struct type_to_string<itl::bits<unsigned char > >{static std::string apply(){ return "bit8";  }};
 template <>struct type_to_string<itl::bits<unsigned short> >{static std::string apply(){ return "bit16"; }};
-template <>struct type_to_string<itl::bits<unsigned int  > >{static std::string apply(){ return "bit32"; }};
-template <>struct type_to_string<itl::bits<unsigned long > >{static std::string apply(){ return "bitl32"; }};
+template <>struct type_to_string<itl::bits<unsigned int  > >{static std::string apply(){ return "bit_32"; }};
+template <>struct type_to_string<itl::bits<unsigned long > >{static std::string apply(){ return "bit32"; }};
 template <>struct type_to_string<itl::bits<unsigned long long> >{static std::string apply(){ return "bit64"; }};
 
 
Modified: sandbox/itl/boost/itl_xt/detail/bit_element_iterator.hpp
==============================================================================
--- sandbox/itl/boost/itl_xt/detail/bit_element_iterator.hpp	(original)
+++ sandbox/itl/boost/itl_xt/detail/bit_element_iterator.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -110,6 +110,8 @@
             return false;
         else if(_on_bit == ante)
             return other._on_bit == beyond || other.is_segment_begin();
+        else if(ante == other._on_bit)
+            return _on_bit == beyond || is_segment_begin();
         else 
             return _on_bit == other._on_bit;
     }
@@ -231,11 +233,12 @@
 namespace biterate
 {
 
-#if (defined _MSC_VER)
-# pragma warning( push )
-// C4146: unary minus operator applied to unsigned type, result still unsigned
-# pragma warning( disable : 4146 )
-#endif
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4706) // assignment within conditional expression
+#pragma warning(disable:4146) // unary minus operator applied to unsigned type, result still unsigned
+#endif                        
+
 
 /* Bit-iteration is coded on the bases of the work of
 Charles E. Leiserson, Harald Prokop, Keith H. Randall
@@ -359,6 +362,7 @@
         }
     }
 
+
     static bit_range_type next_bit(word_type value, bit_range_type cur_pos)
     {
         if(cur_pos == last)
@@ -381,7 +385,6 @@
         }
     }
 
-
     static half_type lower_previous(word_type value, bit_range_type cur_pos)
     {
         return static_cast<half_type>(lower_mask & (value & ((1<<(cur_pos))-1)));
@@ -412,6 +415,8 @@
         {
             half_type up_prev, low_prev;
             if(half == cur_pos)
+				// warning C4706: assignment within conditional expression
+				// This is intentional here.
                 if(low_prev = static_cast<half_type>(lower_mask & value))
                     return index32[((high_bit(low_prev) * factor)) >> shift];
                 else
@@ -446,10 +451,7 @@
     BOOST_STATIC_CONSTANT(bit_range_type, beyond = digits+1 );
 
     static bit_range_type first_bit(word_type value)
-    {
-        unsigned int dbg_word_value = value; //CL
-        return forward<word_type,digits>::first_bit(value); 
-    }
+    { return forward<word_type,digits>::first_bit(value); }
 
     static bit_range_type last_bit(word_type value)
     { return forward<word_type,digits>::last_bit(value); }
@@ -461,19 +463,13 @@
     { return forward<word_type,digits>::prev_bit(value, cur_pos); }
 
     static difference_type inter_value(difference_type reptator, const interval_type inter_val)
-    {
-        return inter_val.first() + reptator;
-    }
+    { return inter_val.first() + reptator; }
 
     static difference_type inter_base(const iterator& iter)
-    {
-        return neutron<difference_type>::value();
-    }
+    { return neutron<difference_type>::value(); }
 
     static difference_type inter_ceil(const iterator& iter)
-    {
-        return iter->first.length();
-    }
+    { return iter->first.length(); }
 };
 
 template<class IteratorT>
@@ -504,25 +500,11 @@
     { return forward<word_type,digits>::next_bit(value, cur_pos); }
 
     static difference_type inter_value(difference_type reptator, const interval_type inter_val)
-    {
-        return inter_val.last() - reptator;
-    }
-
-    static difference_type inter_base(const iterator& iter)//CL . . .
-    {
-        return iter->first.length();
-    }
-
-    static difference_type inter_ceil(const iterator& iter)
-    {
-        return neutron<difference_type>::value();
-    }
+    { return inter_val.last() - reptator; }
 };
 
-
-#if (defined _MSC_VER)
-# pragma warning( pop ) // C4146: unary minus operator applied to unsigned type,
-                        // result still unsigned
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
 #endif
 
 } //namespace biterate
Modified: sandbox/itl/boost/itl_xt/interval_bitset.hpp
==============================================================================
--- sandbox/itl/boost/itl_xt/interval_bitset.hpp	(original)
+++ sandbox/itl/boost/itl_xt/interval_bitset.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -20,6 +20,7 @@
 #include <boost/itl/interval_morphism.hpp> //JODO Separate aspects and concerns
 
 
+
 namespace boost{namespace itl
 {
 
@@ -212,6 +213,11 @@
 private:                                       
     typedef typename interval_bitmap_type::segment_type seg_type;
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4245) //'initializing' : conversion from 'int' to 'const unsigned char', signed/unsigned mismatch
+#endif                        
+
     BOOST_STATIC_CONSTANT( word_type, digits    = bitset_type::digits       );
     BOOST_STATIC_CONSTANT( word_type, divisor   = digits                    );
     BOOST_STATIC_CONSTANT( word_type, last      = digits-1                  );
@@ -220,7 +226,11 @@
     BOOST_STATIC_CONSTANT( word_type, mask      = divisor - w1              );
     BOOST_STATIC_CONSTANT( word_type, all       = ~static_cast<word_type>(0));
     BOOST_STATIC_CONSTANT( word_type, top       = w1 << (digits-w1)         );
-    
+
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
+
     typedef itl::bits<unsigned char> PartsT;
     enum { inner_part = 0, sub_part = 1, super_part = 2, inter_part = 4 };
 
Modified: sandbox/itl/boost/itl_xt/list.hpp
==============================================================================
--- sandbox/itl/boost/itl_xt/list.hpp	(original)
+++ sandbox/itl/boost/itl_xt/list.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -22,7 +22,7 @@
 #include <boost/itl_xt/std/pair.hpp>
 #include <boost/itl/detail/design_config.hpp>
 #include <boost/itl/type_traits/to_string.hpp>
-#include <boost/itl/set_algo.hpp>
+#include <boost/itl/detail/set_algo.hpp>
 #include <boost/itl/predicates.hpp>
 
 
Modified: sandbox/itl/boost/validate/driver/interval_bitset_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/interval_bitset_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/interval_bitset_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -66,7 +66,6 @@
             default: return choiceError(ITL_LOCATION("freeChoice:\n"), freeChoice, _freeChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
 
     };
Modified: sandbox/itl/boost/validate/driver/itl_relations_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/itl_relations_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/itl_relations_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -95,7 +95,7 @@
         {
             int rootChoice         = _rootChoice.some();
             int domainChoice       = _domainChoice.some();
-            int codomainChoice     = _codomainChoice.some();
+            //int codomainChoice     = _codomainChoice.some();
             int neutronizerChoice  = _neutronizerChoice.some();
 
             switch(rootChoice)
@@ -162,7 +162,6 @@
             default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
 
     };
Modified: sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/map_copy_conformity_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -134,7 +134,6 @@
             default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
 
     };
Modified: sandbox/itl/boost/validate/driver/map_order_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/map_order_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/map_order_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -94,7 +94,7 @@
             int rootChoice         = _rootChoice.some();
             int domainChoice       = _domainChoice.some();
             int codomainChoice     = _codomainChoice.some();
-            int neutronizerChoice  = _neutronizerChoice.some();
+            //int neutronizerChoice  = _neutronizerChoice.some();
 
             switch(rootChoice)
             {
@@ -174,7 +174,6 @@
             default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
 
     };
Modified: sandbox/itl/boost/validate/driver/set_order_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/set_order_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/set_order_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -93,8 +93,8 @@
         {
             int rootChoice         = _rootChoice.some();
             int domainChoice       = _domainChoice.some();
-            int codomainChoice     = _codomainChoice.some();
-            int neutronizerChoice  = _neutronizerChoice.some();
+            //int codomainChoice     = _codomainChoice.some();
+            //int neutronizerChoice  = _neutronizerChoice.some();
 
             switch(rootChoice)
             {
@@ -133,7 +133,6 @@
             default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
 
     };
Added: sandbox/itl/boost/validate/driver/sorted_associative_bitset_back_driver.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/validate/driver/sorted_associative_bitset_back_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,69 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_BITSET_BACK_DRIVER_HPP_JOFA_091202
+#define BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_BITSET_BACK_DRIVER_HPP_JOFA_091202
+
+#include <iostream>
+#include <stdio.h>
+#include <boost/validate/validater/sorted_associative_back_validater.hpp>
+#include <boost/validate/driver/itl_driver.hpp>
+#include <boost/validate/utility.hpp>
+
+namespace boost{namespace itl
+{
+    
+    class sorted_associative_bitset_back_driver : public itl_driver
+    {
+    public:
+        sorted_associative_bitset_back_driver() { setProfile(); }
+
+        void setProfile()
+        {
+			const int used_choices = 4;
+            setValid(true);
+            _freeChoice.setSize(used_choices);
+            _freeChoice.setMaxWeights(100);
+            _freeChoice[FreeChoice::_1] = 25;
+            _freeChoice[FreeChoice::_2] = 25;
+            _freeChoice[FreeChoice::_3] = 25;
+            _freeChoice[FreeChoice::_4] = 25;
+            setRootTypeNames();
+            _freeChoice.init();
+
+            if(!_freeChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _freeChoice.inconsitencyMessage("interval_bitset_driver::setProfile()") << std::endl;
+            }
+        }
+
+        algebra_validater* chooseValidater()
+        {
+            int freeChoice         = _freeChoice.some();
+
+            switch(freeChoice)
+            {
+            case FreeChoice::_1:
+                return new sorted_associative_back_validater< interval_bitset<int, bits<unsigned char> >,  itl::list<int> >; 
+            case FreeChoice::_2:
+                return new sorted_associative_back_validater< interval_bitset<int, bits<unsigned short> >, itl::list<int> >; 
+            case FreeChoice::_3:
+                return new sorted_associative_back_validater< interval_bitset<int, bits<unsigned long> >,  itl::list<int> >; 
+            case FreeChoice::_4:
+                return new sorted_associative_back_validater< interval_bitset<int, bits<unsigned long long> >, itl::list<int> >; 
+            default: return choiceError(ITL_LOCATION("freeChoice:\n"), freeChoice, _freeChoice);
+            } //switch()
+
+        }
+    };
+
+}} // namespace itl boost
+
+#endif // BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_BITSET_BACK_DRIVER_HPP_JOFA_091202
Modified: sandbox/itl/boost/validate/driver/sorted_associative_bitset_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/sorted_associative_bitset_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/sorted_associative_bitset_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -26,14 +26,14 @@
 
         void setProfile()
         {
+			const int used_choices = 4;
             setValid(true);
-            _freeChoice.setSize(FreeChoice::FreeChoice_size);
+            _freeChoice.setSize(used_choices);
             _freeChoice.setMaxWeights(100);
-            _freeChoice[FreeChoice::_1] = 20;
-            _freeChoice[FreeChoice::_2] = 20;
-            _freeChoice[FreeChoice::_3] = 20;
-            _freeChoice[FreeChoice::_4] = 20;
-            _freeChoice[FreeChoice::_5] = 20;
+            _freeChoice[FreeChoice::_1] = 25;
+            _freeChoice[FreeChoice::_2] = 25;
+            _freeChoice[FreeChoice::_3] = 25;
+            _freeChoice[FreeChoice::_4] = 25;
             setRootTypeNames();
             _freeChoice.init();
 
@@ -55,15 +55,12 @@
             case FreeChoice::_2:
                 return new sorted_associative_validater< interval_bitset<int, bits<unsigned short> >, itl::list<int> >; 
             case FreeChoice::_3:
-                return new sorted_associative_validater< interval_bitset<int, bits<unsigned int> >,   itl::list<int> >; 
-            case FreeChoice::_4:
                 return new sorted_associative_validater< interval_bitset<int, bits<unsigned long> >,  itl::list<int> >; 
-            case FreeChoice::_5:
+            case FreeChoice::_4:
                 return new sorted_associative_validater< interval_bitset<int, bits<unsigned long long> >, itl::list<int> >; 
             default: return choiceError(ITL_LOCATION("freeChoice:\n"), freeChoice, _freeChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
     };
 
Added: sandbox/itl/boost/validate/driver/sorted_associative_map_back_driver.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/validate/driver/sorted_associative_map_back_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,134 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_MAP_BACK_DRIVER_HPP_JOFA_091202
+#define BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_MAP_BACK_DRIVER_HPP_JOFA_091202
+
+#include <iostream>
+#include <stdio.h>
+#include <boost/validate/validater/sorted_associative_back_validater.hpp>
+#include <boost/validate/driver/itl_driver.hpp>
+#include <boost/validate/utility.hpp>
+
+namespace boost{namespace itl
+{
+    
+    class sorted_associative_map_back_driver : public itl_driver
+    {
+    public:
+        sorted_associative_map_back_driver() { setProfile(); }
+
+        void setProfile()
+        {
+            setValid(true);
+            _rootChoice.setSize(RootType::Types_size);
+            _rootChoice.setMaxWeights(100);
+            _rootChoice[RootType::itl_set]               = 0;
+            _rootChoice[RootType::interval_set]          = 0;
+            _rootChoice[RootType::separate_interval_set] = 0;
+            _rootChoice[RootType::split_interval_set]    = 0;
+            _rootChoice[RootType::itl_map]               = 0;
+            _rootChoice[RootType::interval_map]          = 50;
+            _rootChoice[RootType::split_interval_map]    = 50;
+            setRootTypeNames();
+            _rootChoice.init();
+
+            _domainChoice.setSize(DomainType::DomainTypes_size);
+            _domainChoice.setMaxWeights(100);
+            _domainChoice[DomainType::Int]               = 100;
+            _domainChoice[DomainType::Double]            = 0;
+            setDomainTypeNames();
+            _domainChoice.init();
+
+            _codomainChoice.setSize(CodomainType::CodomainTypes_size);
+            _codomainChoice.setMaxWeights(100);
+            _codomainChoice[CodomainType::Nat]           = 100;
+            _codomainChoice[CodomainType::Int]           = 0;
+            _codomainChoice[CodomainType::Double]        = 0;
+            _codomainChoice[CodomainType::set_int]       = 0;
+            setCodomainTypeNames();
+            _codomainChoice.init();
+
+            _neutronizerChoice.setSize(NeutronHandlerType::NeutronHandlerTypes_size);
+            _neutronizerChoice.setMaxWeights(100);
+            _neutronizerChoice[NeutronHandlerType::partial_absorber]    = 25;
+            _neutronizerChoice[NeutronHandlerType::partial_enricher]    = 25;
+            _neutronizerChoice[NeutronHandlerType::total_absorber]      = 25;
+            _neutronizerChoice[NeutronHandlerType::total_enricher]      = 25;
+            setNeutronHandlerTypeNames();
+            _neutronizerChoice.init();
+
+            if(!_rootChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _rootChoice.inconsitencyMessage("sorted_associative_map_back_driver::setProfile()") << std::endl;
+            }
+
+            if(!_domainChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _domainChoice.inconsitencyMessage("sorted_associative_map_back_driver::setProfile()") << std::endl;
+            }
+
+            if(!_codomainChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _codomainChoice.inconsitencyMessage("sorted_associative_map_back_driver::setProfile()") << std::endl;
+            }
+
+            if(!_neutronizerChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _neutronizerChoice.inconsitencyMessage("sorted_associative_map_back_driver::setProfile()") << std::endl;
+            }
+
+        }
+
+
+        algebra_validater* chooseValidater()
+        {
+            int rootChoice         = _rootChoice.some();
+            //int domainChoice       = _domainChoice.some();
+            //int codomainChoice     = _codomainChoice.some();
+            int neutronizerChoice  = _neutronizerChoice.some();
+
+            switch(rootChoice)
+            {
+            //-----------------------------------------------------------------
+            case RootType::interval_map: {
+                switch(neutronizerChoice) {
+                case NeutronHandlerType::partial_absorber: return new sorted_associative_back_validater<interval_map<int,int,partial_absorber>, itl::list<std::pair<int,int> > >;
+                case NeutronHandlerType::partial_enricher: return new sorted_associative_back_validater<interval_map<int,int,partial_enricher>, itl::list<std::pair<int,int> > >;
+                case NeutronHandlerType::total_absorber:   return new sorted_associative_back_validater<interval_map<int,int,total_absorber  >, itl::list<std::pair<int,int> > >;
+                case NeutronHandlerType::total_enricher:   return new sorted_associative_back_validater<interval_map<int,int,total_enricher  >, itl::list<std::pair<int,int> > >;
+                default: return choiceError(ITL_LOCATION("\nRootType::interval_map: neutronizerChoice:\n"), neutronizerChoice, _neutronizerChoice);
+                }//switch neutronizerChoice
+            }//case interval_map 
+            //-----------------------------------------------------------------
+            case RootType::split_interval_map: {
+                switch(neutronizerChoice) {
+                case NeutronHandlerType::partial_absorber: return new sorted_associative_back_validater<split_interval_map<int,int,partial_absorber>, itl::list<std::pair<int,int> > >;
+                case NeutronHandlerType::partial_enricher: return new sorted_associative_back_validater<split_interval_map<int,int,partial_enricher>, itl::list<std::pair<int,int> > >;
+                case NeutronHandlerType::total_absorber:   return new sorted_associative_back_validater<split_interval_map<int,int,total_absorber  >, itl::list<std::pair<int,int> > >;
+                case NeutronHandlerType::total_enricher:   return new sorted_associative_back_validater<split_interval_map<int,int,total_enricher  >, itl::list<std::pair<int,int> > >;
+                default: return choiceError(ITL_LOCATION("\nRootType::split_interval_map: neutronizerChoice:\n"), neutronizerChoice, _neutronizerChoice);
+                }//switch neutronizerChoice
+            }//case split_interval_map 
+            //-----------------------------------------------------------------
+
+            default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
+            } //switch()
+
+        }
+    };
+
+
+}} // namespace itl boost
+
+#endif // BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_MAP_BACK_DRIVER_HPP_JOFA_091202
Modified: sandbox/itl/boost/validate/driver/sorted_associative_map_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/sorted_associative_map_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/sorted_associative_map_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -94,8 +94,8 @@
         algebra_validater* chooseValidater()
         {
             int rootChoice         = _rootChoice.some();
-            int domainChoice       = _domainChoice.some();
-            int codomainChoice     = _codomainChoice.some();
+            //int domainChoice       = _domainChoice.some();
+            //int codomainChoice     = _codomainChoice.some();
             int neutronizerChoice  = _neutronizerChoice.some();
 
             switch(rootChoice)
@@ -125,7 +125,6 @@
             default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
     };
 
Added: sandbox/itl/boost/validate/driver/sorted_associative_set_back_driver.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/validate/driver/sorted_associative_set_back_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,113 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_SET_BACK_DRIVER_HPP_JOFA_091202
+#define BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_SET_BACK_DRIVER_HPP_JOFA_091202
+
+#include <iostream>
+#include <stdio.h>
+#include <boost/validate/validater/sorted_associative_back_validater.hpp>
+#include <boost/validate/driver/itl_driver.hpp>
+#include <boost/validate/utility.hpp>
+
+namespace boost{namespace itl
+{
+    
+    class sorted_associative_set_back_driver : public itl_driver
+    {
+    public:
+        sorted_associative_set_back_driver() { setProfile(); }
+
+        void setProfile()
+        {
+            setValid(true);
+            _rootChoice.setSize(RootType::Types_size);
+            _rootChoice.setMaxWeights(100);
+            _rootChoice[RootType::itl_set]               = 0;
+            _rootChoice[RootType::interval_set]          = 33;
+            _rootChoice[RootType::separate_interval_set] = 33;
+            _rootChoice[RootType::split_interval_set]    = 34;
+            _rootChoice[RootType::itl_map]               = 0;
+            _rootChoice[RootType::interval_map]          = 0;
+            _rootChoice[RootType::split_interval_map]    = 0;
+            setRootTypeNames();
+            _rootChoice.init();
+
+            _domainChoice.setSize(DomainType::DomainTypes_size);
+            _domainChoice.setMaxWeights(100);
+            _domainChoice[DomainType::Int]               = 100;
+            _domainChoice[DomainType::Double]            = 0;
+            setDomainTypeNames();
+            _domainChoice.init();
+
+            _codomainChoice.setSize(CodomainType::CodomainTypes_size);
+            _codomainChoice.setMaxWeights(100);
+            _codomainChoice[CodomainType::Nat]           = 100;
+            _codomainChoice[CodomainType::Int]           = 0;
+            _codomainChoice[CodomainType::Double]        = 0;
+            _codomainChoice[CodomainType::set_int]       = 0;
+            setCodomainTypeNames();
+            _codomainChoice.init();
+
+            _neutronizerChoice.setSize(NeutronHandlerType::NeutronHandlerTypes_size);
+            _neutronizerChoice.setMaxWeights(100);
+            _neutronizerChoice[NeutronHandlerType::partial_absorber]    = 25;
+            _neutronizerChoice[NeutronHandlerType::partial_enricher]    = 25;
+            _neutronizerChoice[NeutronHandlerType::total_absorber]      = 25;
+            _neutronizerChoice[NeutronHandlerType::total_enricher]      = 25;
+            setNeutronHandlerTypeNames();
+            _neutronizerChoice.init();
+
+            if(!_rootChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _rootChoice.inconsitencyMessage("sorted_associative_set_back_driver::setProfile()") << std::endl;
+            }
+
+            if(!_domainChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _domainChoice.inconsitencyMessage("sorted_associative_set_back_driver::setProfile()") << std::endl;
+            }
+
+            if(!_codomainChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _codomainChoice.inconsitencyMessage("sorted_associative_set_back_driver::setProfile()") << std::endl;
+            }
+
+            if(!_neutronizerChoice.is_consistent())
+            {
+                setValid(false);
+                std::cout << _neutronizerChoice.inconsitencyMessage("sorted_associative_set_back_driver::setProfile()") << std::endl;
+            }
+
+        }
+
+        algebra_validater* chooseValidater()
+        {
+            int rootChoice         = _rootChoice.some();
+            //int domainChoice       = _domainChoice.some();
+            //int codomainChoice     = _codomainChoice.some();
+            //int neutronizerChoice  = _neutronizerChoice.some();
+
+            switch(rootChoice)
+            {
+            case RootType::         interval_set: return new sorted_associative_back_validater<         interval_set<int>, itl::list<int> >;
+            case RootType::separate_interval_set: return new sorted_associative_back_validater<separate_interval_set<int>, itl::list<int> >;
+            case RootType::   split_interval_set: return new sorted_associative_back_validater<   split_interval_set<int>, itl::list<int> >;
+            default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
+            } //switch()
+
+        }
+    };
+
+}} // namespace itl boost
+
+#endif // BOOST_VALIDATE_DRIVER_SORTED_ASSOCIATIVE_SET_BACK_DRIVER_HPP_JOFA_091202
Modified: sandbox/itl/boost/validate/driver/sorted_associative_set_driver.hpp
==============================================================================
--- sandbox/itl/boost/validate/driver/sorted_associative_set_driver.hpp	(original)
+++ sandbox/itl/boost/validate/driver/sorted_associative_set_driver.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -94,9 +94,9 @@
         algebra_validater* chooseValidater()
         {
             int rootChoice         = _rootChoice.some();
-            int domainChoice       = _domainChoice.some();
-            int codomainChoice     = _codomainChoice.some();
-            int neutronizerChoice  = _neutronizerChoice.some();
+            //int domainChoice       = _domainChoice.some();
+            //int codomainChoice     = _codomainChoice.some();
+            //int neutronizerChoice  = _neutronizerChoice.some();
 
             switch(rootChoice)
             {
@@ -106,7 +106,6 @@
             default: return choiceError(ITL_LOCATION("rootChoice:\n"), rootChoice, _rootChoice);
             } //switch()
 
-            return NULL; //just to please the compiler ;)
         }
     };
 
Modified: sandbox/itl/boost/validate/gentor/randomgentor.hpp
==============================================================================
--- sandbox/itl/boost/validate/gentor/randomgentor.hpp	(original)
+++ sandbox/itl/boost/validate/gentor/randomgentor.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -320,19 +320,19 @@
     template <> 
     struct Calibrater<std::pair<int,int>, RandomGentor>
     {
-        static void apply(RandomGentor< std::pair<int,int> >& gentor){}
+        static void apply(RandomGentor< std::pair<int,int> >&){}
     };
 
     template <> 
     struct Calibrater<std::pair<itl::interval<int>, int>, RandomGentor>
     {
-        static void apply(RandomGentor< std::pair<itl::interval<int>, int> >& gentor){}
+        static void apply(RandomGentor< std::pair<itl::interval<int>, int> >&){}
     };
 
     template <> 
     struct Calibrater<std::pair<itl::interval<double>, int>, RandomGentor>
     {
-        static void apply(RandomGentor< std::pair<itl::interval<double>, int> >& gentor){}
+        static void apply(RandomGentor< std::pair<itl::interval<double>, int> >&){}
     };
 
     template <> 
Modified: sandbox/itl/boost/validate/laws/atomic_equivalence.hpp
==============================================================================
--- sandbox/itl/boost/validate/laws/atomic_equivalence.hpp	(original)
+++ sandbox/itl/boost/validate/laws/atomic_equivalence.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -18,6 +18,7 @@
 #include <boost/validate/laws/law.hpp>
 #include <boost/validate/std/algorithm/copy.hpp>
 #include <boost/validate/std/algorithm/set_algo.hpp>
+#include <boost/validate/std/algorithm/relation.hpp>
 
 namespace boost{namespace itl
 {
@@ -39,7 +40,7 @@
 // -----------------------------------------------------------------------------
 template <typename SegmentsT, 
           typename TargetsT  = typename SegmentsT::atomized_type,
-          template<class,class,template<class>class>class Algorithm = itl::std_copy_forward,
+          template<class,class,template<class>class>class Algorithm = itl::std_copy,
           template<class>class       TargetIterator = std::insert_iterator,
           template<class,class>class Atomizer       = itl::Interval::Atomize,
           template<class>class       Equality       = itl::std_equal         > 
@@ -60,7 +61,7 @@
 public:
     typedef typename SegmentsT::atomized_type ElementsT;
 
-    std::string name()const { return "UnnaryAtomicEquivalence"; }
+    std::string name()const { return "UnaryAtomicEquivalence"; }
     std::string formula()const { return "For all S a: Alg<E,T,I>(atomize(a)) == Alg<S,T,I>(a)"; }
 
     std::string typeString()const
@@ -124,7 +125,7 @@
 // -----------------------------------------------------------------------------
 template <typename SegmentsT, 
           typename TargetsT  = typename SegmentsT::atomized_type,
-          template<class,class,template<class>class>class Algorithm = itl::std_set_union_forward,
+          template<class,class,template<class>class>class Algorithm = itl::std_set_union,
           template<class>class       TargetIterator = std::insert_iterator,
           template<class,class>class Atomizer       = itl::Interval::Atomize,
           template<class>class       Equality       = itl::std_equal         > 
Modified: sandbox/itl/boost/validate/loki_xt/Tuple.h
==============================================================================
--- sandbox/itl/boost/validate/loki_xt/Tuple.h	(original)
+++ sandbox/itl/boost/validate/loki_xt/Tuple.h	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -299,7 +299,7 @@
         {
             typedef TupleGentor<NullType, index> TrgTupleT;
             typedef TupleGentor<NullType, index> SrcTupleT;
-            static void Do(TrgTupleT& trg, SrcTupleT& src){}
+            static void Do(TrgTupleT&, SrcTupleT&){}
         };
 
 
@@ -418,9 +418,8 @@
         {
             typedef TupleGentor<NullType, index> SrcTupleT;
 
-            static void Do(SrcTupleT& src)
+            static void Do(SrcTupleT&)
             {
-                //CL? Function<TrgType, UnaryTpl>::apply(src);
             }
         };
 
@@ -728,7 +727,7 @@
         template <unsigned int i>
         struct Stringer<tuple<NullType>, i>
         {
-            static std::string Do(const tuple<NullType>& obj)
+            static std::string Do(const tuple<NullType>&)
             {
                 return std::string();
             }
Modified: sandbox/itl/boost/validate/std/algorithm/copy.hpp
==============================================================================
--- sandbox/itl/boost/validate/std/algorithm/copy.hpp	(original)
+++ sandbox/itl/boost/validate/std/algorithm/copy.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -15,8 +15,10 @@
 namespace boost{namespace itl
 {
 
+//------------------------------------------------------------------------------
+//- std::copy ------------------------------------------------------------------
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_copy_forward
+struct std_copy
 {
     static void apply(const SourceT& source, TargetT& target)
     {
@@ -34,7 +36,7 @@
 };
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_copy_backward
+struct std_copy_back
 {
     static void apply(const SourceT& source, TargetT& target)
     {
@@ -51,8 +53,10 @@
     static std::string struct_abbreviation(){ return "cpy_b"; }
 };
 
+//------------------------------------------------------------------------------
+//- std::reverse_copy ----------------------------------------------------------
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_reverse_copy_forward
+struct std_reverse_copy
 {
     static void apply(const SourceT& source, TargetT& target)
     {
@@ -70,7 +74,7 @@
 };
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_reverse_copy_backward
+struct std_reverse_copy_back
 {
     static void apply(const SourceT& source, TargetT& target)
     {
@@ -88,6 +92,46 @@
 };
 
 
+//------------------------------------------------------------------------------
+//- std::copy_backward ---------------------------------------------------------
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_copy_backward
+{
+    static void apply(const SourceT& source, TargetT& target)
+    {
+        std::copy_backward(source.begin(), source.end(), 
+            InsertIterator<TargetT>(target, typename TargetT::iterator(target.end())));
+    }
+
+    static void apply_elemental(const SourceT& source, TargetT& target)
+    {
+        std::copy_backward(source.elements_begin(), source.elements_end(), 
+            InsertIterator<TargetT>(target, typename TargetT::iterator(target.end())));
+    }
+
+    static std::string struct_abbreviation(){ return "cpyb_f"; }
+};
+
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_copy_backward_back
+{
+    static void apply(const SourceT& source, TargetT& target)
+    {
+        std::copy_backward(source.rbegin(), source.rend(), 
+            InsertIterator<TargetT>(target, typename TargetT::iterator(target.end())));
+    }
+
+    static void apply_elemental(const SourceT& source, TargetT& target)
+    {
+        std::copy_backward(source.elements_rbegin(), source.elements_rend(), 
+            InsertIterator<TargetT>(target, typename TargetT::iterator(target.end())));
+    }
+
+    static std::string struct_abbreviation(){ return "cpyb_b"; }
+};
+
+
+
 }} // namespace itl boost
 
 #endif BOOST_VALIDATE_STD_ALGORITHM_COPY_HPP_JOFA_091124
Added: sandbox/itl/boost/validate/std/algorithm/relation.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/validate/std/algorithm/relation.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,155 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2009-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_VALIDATE_STD_ALGORITHM_RELATION_HPP_JOFA_091202
+#define BOOST_VALIDATE_STD_ALGORITHM_RELATION_HPP_JOFA_091202
+
+#include <algorithm>
+
+namespace boost{namespace itl
+{
+
+//- equal ----------------------------------------------------------------------
+
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+#pragma warning(push)
+#pragma warning(disable:4996) //'std::equal': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
+#endif                        // I do guarantee here that I am using the parameters correctly :)
+
+
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_equals
+{
+    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+		target = false;
+		if(left.size() <= right.size())
+			target = std::equal(left.begin(), left.end(), right.begin());
+    }
+
+    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+		target = false;
+		if(left.size() <= right.size())
+            target = std::equal(left.elements_begin(),  left.elements_end(), right.elements_begin()); 
+    }
+
+    static std::string struct_abbreviation(){ return "==f"; }
+};
+
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_equals_back
+{
+    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+		target = false;
+		if(left.size() <= right.size())
+			target = std::equal(left.rbegin(), left.rend(), right.rbegin());
+    }
+
+    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+		target = false;
+		if(left.size() <= right.size())
+            target = std::equal(left.elements_rbegin(),  left.elements_rend(), right.elements_rbegin()); 
+    }
+
+    static std::string struct_abbreviation(){ return "==b"; }
+};
+
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
+
+
+//- lexicographical_compare ----------------------------------------------------
+
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_lexicographical_compare
+{
+    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::lexicographical_compare(left.begin(), left.end(), 
+                                              right.begin(), right.end());
+    }
+
+    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::lexicographical_compare
+			(left.elements_begin(),  left.elements_end(), 
+             right.elements_begin(), right.elements_end()); 
+    }
+
+    static std::string struct_abbreviation(){ return "<L_f"; }
+};
+
+
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_lexicographical_compare_back
+{
+    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::lexicographical_compare(left.rbegin(), left.rend(), 
+                                              right.rbegin(), right.rend());
+    }
+
+    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::lexicographical_compare
+			(left.elements_rbegin(),  left.elements_rend(), 
+             right.elements_rbegin(), right.elements_rend()); 
+    }
+
+    static std::string struct_abbreviation(){ return "<L_b"; }
+};
+
+
+//- includes -------------------------------------------------------------------
+
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_includes
+{
+    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::includes(left.begin(), left.end(), 
+                               right.begin(), right.end());
+    }
+
+    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::includes(left.elements_begin(),  left.elements_end(), 
+                               right.elements_begin(), right.elements_end()); 
+    }
+
+    static std::string struct_abbreviation(){ return "C=f"; }
+};
+
+
+template<class SourceT, class TargetT, template<class>class InsertIterator>
+struct std_includes_back
+{
+    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::includes(left.rbegin(), left.rend(), 
+                               right.rbegin(), right.rend());
+    }
+
+    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
+    {
+        target = std::includes(left.elements_rbegin(),  left.elements_rend(), 
+                               right.elements_rbegin(), right.elements_rend()); 
+    }
+
+    static std::string struct_abbreviation(){ return "C=b"; }
+};
+
+}} // namespace itl boost
+
+#endif BOOST_VALIDATE_STD_ALGORITHM_RELATION_HPP_JOFA_091202
+
Modified: sandbox/itl/boost/validate/std/algorithm/set_algo.hpp
==============================================================================
--- sandbox/itl/boost/validate/std/algorithm/set_algo.hpp	(original)
+++ sandbox/itl/boost/validate/std/algorithm/set_algo.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -15,50 +15,11 @@
 namespace boost{namespace itl
 {
 
-//- includes -------------------------------------------------------------------
-
-template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_includes_forward
-{
-    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
-    {
-        target = std::includes(left.begin(), left.end(), 
-                               right.begin(), right.end());
-    }
-
-    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
-    {
-        target = std::includes(left.elements_begin(),  left.elements_end(), 
-                               right.elements_begin(), right.elements_end()); 
-    }
-
-    static std::string struct_abbreviation(){ return "C=f"; }
-};
-
-
-template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_includes_backward
-{
-    static void apply(const SourceT& left, const SourceT& right, TargetT& target)
-    {
-        target = std::includes(left.rbegin(), left.rend(), 
-                               right.rbegin(), right.rend());
-    }
-
-    static void apply_elemental(const SourceT& left, const SourceT& right, TargetT& target)
-    {
-        target = std::includes(left.elements_rbegin(),  left.elements_rend(), 
-                               right.elements_rbegin(), right.elements_rend()); 
-    }
-
-    static std::string struct_abbreviation(){ return "C=b"; }
-};
-
 
 //- set_union -----------------------------------------------------------------
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_union_forward
+struct std_set_union
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
@@ -80,7 +41,7 @@
 
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_union_backward
+struct std_set_union_back
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
@@ -104,7 +65,7 @@
 //- set_difference ------------------------------------------------------------
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_difference_forward
+struct std_set_difference
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
@@ -126,7 +87,7 @@
 
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_difference_backward
+struct std_set_difference_back
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
@@ -150,7 +111,7 @@
 //- set_intersection -----------------------------------------------------------
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_intersection_forward
+struct std_set_intersection
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
@@ -172,7 +133,7 @@
 
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_intersection_backward
+struct std_set_intersection_back
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
@@ -196,7 +157,7 @@
 //- set_symmetric_difference ---------------------------------------------------
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_symmetric_difference_forward
+struct std_set_symmetric_difference
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
@@ -218,7 +179,7 @@
 
 
 template<class SourceT, class TargetT, template<class>class InsertIterator>
-struct std_set_symmetric_difference_backward
+struct std_set_symmetric_difference_back
 {
     static void apply(const SourceT& left, const SourceT& right, TargetT& target)
     {
Modified: sandbox/itl/boost/validate/type/nat.hpp
==============================================================================
--- sandbox/itl/boost/validate/type/nat.hpp	(original)
+++ sandbox/itl/boost/validate/type/nat.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -43,20 +43,6 @@
         return *this; 
     }
 
-    /*CL
-    cnat& operator ^= (const cnat& right) //JODO should not be required
-    { 
-        _value ^= right._value; 
-        return *this; 
-    }
-    cnat& operator &= (const cnat& right) //JODO should not be required
-    { 
-        _value &= right._value; 
-        return *this; 
-    }
-    */
-
-    //CL operator int()const{ return (_value); }
     operator unsigned int()const{ return (_value); }
 
     std::string as_string()const { return to_string<int>::apply(_value); }
Modified: sandbox/itl/boost/validate/utility.hpp
==============================================================================
--- sandbox/itl/boost/validate/utility.hpp	(original)
+++ sandbox/itl/boost/validate/utility.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -32,6 +32,22 @@
         return result;
     }
 
+	std::string msvc_stl_false_order_checking_for_reverse_iteration_message()
+	{
+		return std::string( 
+"+----------------------------------------------------------------------------+\n"
+"| MSVC STL: Incorrect order checking for reverse iteration in _DEBUG mode:   |\n" 
+"+----------------------------------------------------------------------------+\n"
+"| It checks ranges for being sorted by < for algoriths that require ordering |\n"
+"| (which is correct) but misses the fact that reverse iteration from rbegin  |\n"
+"| to rend would require to check REVERSE ORDERING .>. So it gives false      |\n"
+"| alarm on correct instances of algorithms.                                  |\n"       
+"| For Msvc, law based tests on sorted associative containers in reverse      |\n"
+"| order, are therefore executed in RELEASE MODE only.                        |\n" 
+"+----------------------------------------------------------------------------+\n"
+		);
+	}
+
 }} // namespace itl boost
 
 #endif // BOOST_VALIDATE_UTILITY_HPP_JOFA_090203
Added: sandbox/itl/boost/validate/validater/sorted_associative_back_validater.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/boost/validate/validater/sorted_associative_back_validater.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,113 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_VALIDATE_VALIDATER_SORTED_ASSOCIATIVE_BACK_VALIDATER_HPP_JOFA_091202
+#define BOOST_VALIDATE_VALIDATER_SORTED_ASSOCIATIVE_BACK_VALIDATER_HPP_JOFA_091202
+
+#include <boost/validate/laws/atomic_equivalence.hpp>
+#include <boost/validate/validater/law_validater.hpp>
+#include <boost/validate/validater/algebra_validater.hpp>
+
+namespace boost{namespace itl
+{
+
+typedef WeightedNumberGentor<int> ChoiceT;
+
+template <typename Type, typename TargetT = itl::list<typename Type::value_type> >
+class sorted_associative_back_validater : public algebra_validater
+{
+public:
+
+    enum Laws 
+    { 
+        copy          ,
+        reverse_copy  ,
+        equals        ,
+        lexicographical_compare,
+        includes      ,
+        set_union     ,
+        set_difference,
+        set_intersection,
+        set_symmetric_difference,
+        Laws_size 
+    };
+
+    sorted_associative_back_validater() {setProfile();}
+
+    void setProfile()
+    {
+        const int sum_of_shares = 100;
+
+        _lawChoice.setSize(Laws_size);
+        _lawChoice.setMaxWeights(sum_of_shares);
+
+        int rest_shares = sum_of_shares, item_index = 0;
+        _lawChoice[copy                    ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[reverse_copy            ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[equals                  ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[lexicographical_compare ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[includes                ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_union               ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_difference          ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_intersection        ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_symmetric_difference] = share(Laws_size, item_index, rest_shares);
+
+        _lawChoice.init();
+    }
+
+
+    LawValidaterI* chooseValidater()
+    {
+        switch(_lawChoice.some())
+        {
+        case copy                    : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_copy_back           >, RandomGentor>;
+        case reverse_copy            : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_reverse_copy_back   >, RandomGentor>;
+        case equals                  : return new LawValidater<BinaryAtomicEquivalence<Type, bool,    std_equals_back         >, RandomGentor>;
+        case lexicographical_compare : return new LawValidater<BinaryAtomicEquivalence<Type, bool,    std_lexicographical_compare_back>, RandomGentor>;
+        case includes                : return new LawValidater<BinaryAtomicEquivalence<Type, bool,    std_includes_back       >, RandomGentor>;
+        case set_union               : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_union_back      >, RandomGentor>;
+        case set_difference          : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_difference_back >, RandomGentor>;
+        case set_intersection        : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_intersection_back >, RandomGentor>;
+        case set_symmetric_difference: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_symmetric_difference_back >, RandomGentor>;
+        default: return NULL;
+        }
+    }
+
+    void validate()
+    {
+        _validater = chooseValidater();
+        if(_validater)
+        {
+            _validater->run();
+            _validater->addFrequencies(_frequencies);
+            _validater->addViolations(_violationsCount, _violations);
+            delete _validater;
+        }
+    }
+
+    void addFrequencies(ValidationCounterT& summary) { summary += _frequencies; }
+    void addViolations(ViolationCounterT& summary, ViolationMapT& collector)
+    { 
+        summary += _violationsCount; 
+        collector += _violations;  
+    }
+
+
+private:
+    ChoiceT            _lawChoice;
+    LawValidaterI*     _validater;
+    ValidationCounterT _frequencies;
+    ViolationCounterT  _violationsCount;
+    ViolationMapT      _violations;
+};
+
+
+}} // namespace itl boost
+
+#endif // BOOST_VALIDATE_VALIDATER_SORTED_ASSOCIATIVE_BACK_VALIDATER_HPP_JOFA_091202
Modified: sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp
==============================================================================
--- sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp	(original)
+++ sandbox/itl/boost/validate/validater/sorted_associative_validater.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -23,23 +23,20 @@
 class sorted_associative_validater : public algebra_validater
 {
 public:
+	typedef typename Type::value_type value_type;
+public:
 
     enum Laws 
     { 
-        copy_fore          ,
-        copy_back          ,
-        reverse_copy_fore  ,
-        reverse_copy_back  ,
-        includes_fore      ,
-        includes_back      ,
-        set_union_fore     ,
-        set_union_back     ,
-        set_difference_fore,
-        set_difference_back,
-        set_intersection_fore,
-        set_intersection_back,
-        set_symmetric_difference_fore,
-        set_symmetric_difference_back,
+        copy          ,
+        reverse_copy  ,
+        equal         ,
+        lexicographical_compare      ,
+        includes      ,
+        set_union     ,
+        set_difference,
+        set_intersection,
+        set_symmetric_difference,
         Laws_size 
     };
 
@@ -53,20 +50,15 @@
         _lawChoice.setMaxWeights(sum_of_shares);
 
         int rest_shares = sum_of_shares, item_index = 0;
-        _lawChoice[copy_fore                    ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[copy_back                    ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[reverse_copy_fore            ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[reverse_copy_back            ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[includes_fore                ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[includes_back                ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_union_fore               ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_union_back               ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_difference_fore          ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_difference_back          ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_intersection_fore        ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_intersection_back        ] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_symmetric_difference_fore] = share(Laws_size, item_index, rest_shares);
-        _lawChoice[set_symmetric_difference_back] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[copy                    ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[reverse_copy            ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[equal                   ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[lexicographical_compare ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[includes                ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_union               ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_difference          ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_intersection        ] = share(Laws_size, item_index, rest_shares);
+        _lawChoice[set_symmetric_difference] = share(Laws_size, item_index, rest_shares);
 
         _lawChoice.init();
     }
@@ -76,20 +68,15 @@
     {
         switch(_lawChoice.some())
         {
-        case copy_fore          : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_copy_forward           >, RandomGentor>;
-        case copy_back          : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_copy_backward          >, RandomGentor>;
-        case reverse_copy_fore  : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_reverse_copy_forward   >, RandomGentor>;
-        case reverse_copy_back  : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_reverse_copy_backward  >, RandomGentor>;
-        case includes_fore      : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_includes_forward      >, RandomGentor>;
-        case includes_back      : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_includes_backward     >, RandomGentor>;
-        case set_union_fore     : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_union_forward      >, RandomGentor>;
-        case set_union_back     : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_union_backward     >, RandomGentor>;
-        case set_difference_fore: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_difference_forward >, RandomGentor>;
-        case set_difference_back: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_difference_backward>, RandomGentor>;
-        case set_intersection_fore: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_intersection_forward >, RandomGentor>;
-        case set_intersection_back: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_intersection_backward>, RandomGentor>;
-        case set_symmetric_difference_fore: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_symmetric_difference_forward >, RandomGentor>;
-        case set_symmetric_difference_back: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_symmetric_difference_backward>, RandomGentor>;
+        case copy                    : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_copy          >, RandomGentor>;
+        case reverse_copy            : return new LawValidater< UnaryAtomicEquivalence<Type, TargetT, std_reverse_copy  >, RandomGentor>;
+        case equal                   : return new LawValidater<BinaryAtomicEquivalence<Type, bool,    std_equals         >, RandomGentor>;
+        case lexicographical_compare : return new LawValidater<BinaryAtomicEquivalence<Type, bool,    std_lexicographical_compare>, RandomGentor>;
+        case includes                : return new LawValidater<BinaryAtomicEquivalence<Type, bool,    std_includes      >, RandomGentor>;
+        case set_union               : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_union     >, RandomGentor>;
+        case set_difference          : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_difference>, RandomGentor>;
+        case set_intersection        : return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_intersection >, RandomGentor>;
+        case set_symmetric_difference: return new LawValidater<BinaryAtomicEquivalence<Type, TargetT, std_set_symmetric_difference >, RandomGentor>;
         default: return NULL;
         }
     }
Modified: sandbox/itl/libs/itl/doc/boostcon09/intro_to_itl.odp
==============================================================================
Binary files. No diff available.
Modified: sandbox/itl/libs/itl/doc/boostcon09/intro_to_itl.pdf
==============================================================================
Binary files. No diff available.
Modified: sandbox/itl/libs/itl/doc/concepts.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/concepts.qbk	(original)
+++ sandbox/itl/libs/itl/doc/concepts.qbk	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -54,8 +54,7 @@
 [section Aspects]
 
 There are two major ['*aspects*] or ['*views*] of itl containers. The first and predominant
-aspect is called __bi_conceptual__. The second and minor aspect is called __bi_iterative__ or
-iteration related.
+aspect is called __bi_conceptual__. The second and minor aspect is called __bi_iterative__.
 
 [/ table
 [[Aspect]    [Abstraction level][]                  []                    [Practical]]
@@ -75,7 +74,6 @@
              of elements(element value pairs)             ]
                                                            [Segmentation information is available. 
                                                             See e.g. [link boost_itl.examples.month_and_week_grid Time grids for months and weeks]]]
-[[]         [no iteration over elements]                   [iteration over intervals]]
 ]
 
 On the __conceptual__ aspect
@@ -84,7 +82,7 @@
 * an __itv_set__ implements a set of elements.
 * an __itv_map__ implements a map of element value pairs.
 
-On the iteration related or __iterative__ aspect
+On the __iterative__ aspect
 
 * an __itv_set__ implements a set of intervals.
 * an __itv_map__ implements a map of interval value pairs.
Modified: sandbox/itl/libs/itl/doc/interface.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/interface.qbk	(original)
+++ sandbox/itl/libs/itl/doc/interface.qbk	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -528,7 +528,7 @@
 
 Iterators on [*interval conainers] that are refered to so far are
 ['*segment iterators*]. They reveal the more implementation specific
-aspect, that the conceptual aspect abstracts from.[/ NOTE Identical to function_element_iteration.qbk from here]
+aspect, that the __conceptual__ aspect abstracts from.[/ NOTE Identical to function_element_iteration.qbk from here]
 Iteration over segments is fast, compared to an iteration over elements,
 particularly if intervals are large. 
 But if we want to view our interval containers as containers
Modified: sandbox/itl/libs/itl/doc/introduction.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/introduction.qbk	(original)
+++ sandbox/itl/libs/itl/doc/introduction.qbk	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -87,7 +87,7 @@
 
 The second aspect, that will be called __bi_iterative__ ['*aspect*], allows to exploit the
 fact, that the elements of __itv_sets__ and __itv_maps__ are clustered in
-__itvs__ that we can iterate over.
+['*intervals*] or ['*segments*] that we can iterate over.
 
 ``
 // Switch on my favorite telecasts using an interval_set
Modified: sandbox/itl/libs/itl/doc/itl.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/itl.qbk	(original)
+++ sandbox/itl/libs/itl/doc/itl.qbk	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -158,13 +158,13 @@
 [def __ch_itl_set__    interval\nsets]
 [def __ch_itl_map__    interval\nmaps]
 
-[def __bi_conceptual__ ['*conceptual*]]
-[def __conceptual__    conceptual]
-[def __Conceptual__    Conceptual]
-
-[def __bi_iterative__  ['*iterative*]]
-[def __iterative__     iterative]
-[def __Iterative__     Iterative]
+[def __bi_conceptual__ ['*fundamental*]]
+[def __conceptual__    fundamental]
+[def __Conceptual__    Fundamental]
+
+[def __bi_iterative__  ['*segmental*]]
+[def __iterative__     segmental]
+[def __Iterative__     Segmental]
 
 [def __O1__            ['O(1)]]
 [def __aO1__           ['amortized O(1)]]
Modified: sandbox/itl/libs/itl/example/boost_party_/vc9_boost_party.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/boost_party_/vc9_boost_party.vcproj	(original)
+++ sandbox/itl/libs/itl/example/boost_party_/vc9_boost_party.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -126,7 +126,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/interval_/vc9_interval.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/interval_/vc9_interval.vcproj	(original)
+++ sandbox/itl/libs/itl/example/interval_/vc9_interval.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/interval_container_/vc9_interval_container.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/interval_container_/vc9_interval_container.vcproj	(original)
+++ sandbox/itl/libs/itl/example/interval_container_/vc9_interval_container.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/itvset_shell_/itvset_shell.cpp
==============================================================================
--- sandbox/itl/libs/itl/example/itvset_shell_/itvset_shell.cpp	(original)
+++ sandbox/itl/libs/itl/example/itvset_shell_/itvset_shell.cpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -49,7 +49,7 @@
 
         instructions();
 
-        while(true)
+        for(;;)
         {
             cout << "> ";
             cin >> cmd ;
Modified: sandbox/itl/libs/itl/example/itvset_shell_/vc9_itvset_shell.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/itvset_shell_/vc9_itvset_shell.vcproj	(original)
+++ sandbox/itl/libs/itl/example/itvset_shell_/vc9_itvset_shell.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp
==============================================================================
--- sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp	(original)
+++ sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -10,7 +10,6 @@
 #define BOOST_LIBS_ITL_EXAMPLE_LARGE_BITSET__LARGE_BITSET_HPP_JOFA_091019
 //[large_bitset_includes
 #include <iostream>                   // to organize output
-#include <boost/cstdint.hpp>          // portable boost integers
 #include <boost/operators.hpp>        // to define operators with minimal effort
 #include "meta_log.hpp"               // a meta logarithm
 #include "bits.hpp"                   // a minimal bitset implementation
@@ -21,11 +20,11 @@
 //]
 
 //[large_bitset_natural_typedefs
-typedef boost::uint8_t  nat8; // nati i: number bits
-typedef boost::uint16_t nat16;
-typedef boost::uint32_t nat32; 
-typedef boost::uint64_t nat64; 
-typedef nat32           nat; 
+typedef unsigned char      nat8; // nati i: number bits
+typedef unsigned short     nat16;
+typedef unsigned long      nat32; 
+typedef unsigned long long nat64; 
+typedef unsigned int       nat; 
 
 typedef bits<nat8>  bits8;
 typedef bits<nat16> bits16;
Modified: sandbox/itl/libs/itl/example/man_power_/vc9_man_power.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/man_power_/vc9_man_power.vcproj	(original)
+++ sandbox/itl/libs/itl/example/man_power_/vc9_man_power.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -126,7 +126,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/month_and_week_grid_/vc9_month_and_week_grid.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/month_and_week_grid_/vc9_month_and_week_grid.vcproj	(original)
+++ sandbox/itl/libs/itl/example/month_and_week_grid_/vc9_month_and_week_grid.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -126,7 +126,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/overlap_counter_/vc9_overlap_counter.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/overlap_counter_/vc9_overlap_counter.vcproj	(original)
+++ sandbox/itl/libs/itl/example/overlap_counter_/vc9_overlap_counter.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/party_/vc9_party.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/party_/vc9_party.vcproj	(original)
+++ sandbox/itl/libs/itl/example/party_/vc9_party.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -126,7 +126,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/partys_height_average_/vc9_partys_height_average.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/partys_height_average_/vc9_partys_height_average.vcproj	(original)
+++ sandbox/itl/libs/itl/example/partys_height_average_/vc9_partys_height_average.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -126,7 +126,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/partys_tallest_guests_/vc9_partys_tallest_guests.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/partys_tallest_guests_/vc9_partys_tallest_guests.vcproj	(original)
+++ sandbox/itl/libs/itl/example/partys_tallest_guests_/vc9_partys_tallest_guests.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -126,7 +126,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/splititvmap_shell_/vc9_splititvmap_shell.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/splititvmap_shell_/vc9_splititvmap_shell.vcproj	(original)
+++ sandbox/itl/libs/itl/example/splititvmap_shell_/vc9_splititvmap_shell.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/std_copy_/vc9_std_copy.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/std_copy_/vc9_std_copy.vcproj	(original)
+++ sandbox/itl/libs/itl/example/std_copy_/vc9_std_copy.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/std_transform_/vc9_std_transform.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/std_transform_/vc9_std_transform.vcproj	(original)
+++ sandbox/itl/libs/itl/example/std_transform_/vc9_std_transform.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/example/user_groups_/vc9_user_groups.vcproj
==============================================================================
--- sandbox/itl/libs/itl/example/user_groups_/vc9_user_groups.vcproj	(original)
+++ sandbox/itl/libs/itl/example/user_groups_/vc9_user_groups.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -126,7 +126,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_map_/vc9_fastest_interval_map.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_map_/vc9_fastest_interval_map.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_map_/vc9_fastest_interval_map.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_map_infix_/vc9_fastest_interval_map_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_map_infix_/vc9_fastest_interval_map_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_map_infix_/vc9_fastest_interval_map_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_map_infix_mixed_/vc9_fastest_interval_map_infix_mixed.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_map_infix_mixed_/vc9_fastest_interval_map_infix_mixed.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_map_infix_mixed_/vc9_fastest_interval_map_infix_mixed.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_map_mixed2_/vc9_fastest_interval_map_mixed2.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_map_mixed2_/vc9_fastest_interval_map_mixed2.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_map_mixed2_/vc9_fastest_interval_map_mixed2.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_map_mixed_/vc9_fastest_interval_map_mixed.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_map_mixed_/vc9_fastest_interval_map_mixed.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_map_mixed_/vc9_fastest_interval_map_mixed.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_set_/vc9_fastest_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_set_/vc9_fastest_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_set_/vc9_fastest_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_set_infix_/vc9_fastest_interval_set_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_set_infix_/vc9_fastest_interval_set_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_set_infix_/vc9_fastest_interval_set_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_interval_set_mixed_/vc9_fastest_interval_set_mixed.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_interval_set_mixed_/vc9_fastest_interval_set_mixed.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_interval_set_mixed_/vc9_fastest_interval_set_mixed.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_itl_interval_/vc9_fastest_itl_interval.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_itl_interval_/vc9_fastest_itl_interval.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_itl_interval_/vc9_fastest_itl_interval.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_itl_map_/vc9_fastest_itl_map.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_itl_map_/vc9_fastest_itl_map.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_itl_map_/vc9_fastest_itl_map.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_partial_interval_quantifier_/vc9_fastest_partial_interval_quantifier.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_partial_interval_quantifier_/vc9_fastest_partial_interval_quantifier.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_partial_interval_quantifier_/vc9_fastest_partial_interval_quantifier.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -123,7 +123,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_separate_interval_set_/vc9_fastest_separate_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_separate_interval_set_/vc9_fastest_separate_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_separate_interval_set_/vc9_fastest_separate_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_separate_interval_set_infix_/vc9_fastest_separate_interval_set_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_separate_interval_set_infix_/vc9_fastest_separate_interval_set_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_separate_interval_set_infix_/vc9_fastest_separate_interval_set_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_set_interval_set_/vc9_fastest_set_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_set_interval_set_/vc9_fastest_set_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_set_interval_set_/vc9_fastest_set_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_set_itl_set_/vc9_fastest_set_itl_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_set_itl_set_/vc9_fastest_set_itl_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_set_itl_set_/vc9_fastest_set_itl_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_split_interval_map_/vc9_fastest_split_interval_map.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_split_interval_map_/vc9_fastest_split_interval_map.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_split_interval_map_/vc9_fastest_split_interval_map.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_split_interval_map_infix_/vc9_fastest_split_interval_map_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_split_interval_map_infix_/vc9_fastest_split_interval_map_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_split_interval_map_infix_/vc9_fastest_split_interval_map_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_split_interval_set_/vc9_fastest_split_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_split_interval_set_/vc9_fastest_split_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_split_interval_set_/vc9_fastest_split_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_split_interval_set_infix_/vc9_fastest_split_interval_set_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_split_interval_set_infix_/vc9_fastest_split_interval_set_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_split_interval_set_infix_/vc9_fastest_split_interval_set_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/fastest_total_interval_quantifier_/vc9_fastest_total_interval_quantifier.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/fastest_total_interval_quantifier_/vc9_fastest_total_interval_quantifier.vcproj	(original)
+++ sandbox/itl/libs/itl/test/fastest_total_interval_quantifier_/vc9_fastest_total_interval_quantifier.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -123,7 +123,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp	(original)
+++ sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -44,11 +44,26 @@
     typedef interval_bitset<int, bits8> InterBitsT;
     InterBitsT lbs;
 
-    lbs.add(0).add(3).add(5);
+    lbs.add(0).add(3);
 
     InterBitsT::element_reverse_iterator rit_   = lbs.elements_rend();
     InterBitsT::element_reverse_iterator revbeg = lbs.elements_rbegin();
 
+	//  {< > 0  3 }
+	//  re!
+	--rit_; // 
+	cout << "*rit_=" << *rit_ << endl;
+	--rit_; // 
+	cout << "*rit_=" << *rit_ << endl;
+
+	rit_ == revbeg;
+
+	if(rit_ == lbs.elements_rbegin())
+		cout << "at rbegin=last\n";
+	else
+		cout << "NOT at rbegin=last\n";
+
+/*
     cout << "{";
     while(!(rit_ == revbeg))
     {
@@ -56,6 +71,7 @@
         cout << *rit_ << " ";
     }
     cout << "}";
+*/
 }
 
 
Modified: sandbox/itl/libs/itl/test/test_casual_/vc9_test_casual.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_casual_/vc9_test_casual.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_casual_/vc9_test_casual.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_combinable_/vc9_test_combinable.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_combinable_/vc9_test_combinable.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_combinable_/vc9_test_combinable.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_map_/vc9_test_interval_map.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map_/vc9_test_interval_map.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_map_/vc9_test_interval_map.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_map_infix_/vc9_test_interval_map_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map_infix_/vc9_test_interval_map_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_map_infix_/vc9_test_interval_map_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_map_infix_mixed_/vc9_test_interval_map_infix_mixed.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map_infix_mixed_/vc9_test_interval_map_infix_mixed.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_map_infix_mixed_/vc9_test_interval_map_infix_mixed.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_map_mixed2_/vc9_test_interval_map_mixed2.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map_mixed2_/vc9_test_interval_map_mixed2.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_map_mixed2_/vc9_test_interval_map_mixed2.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_map_mixed_/vc9_test_interval_map_mixed.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map_mixed_/vc9_test_interval_map_mixed.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_map_mixed_/vc9_test_interval_map_mixed.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_set_/vc9_test_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_set_/vc9_test_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_set_/vc9_test_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_set_infix_/vc9_test_interval_set_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_set_infix_/vc9_test_interval_set_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_set_infix_/vc9_test_interval_set_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_interval_set_mixed_/vc9_test_interval_set_mixed.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_set_mixed_/vc9_test_interval_set_mixed.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_interval_set_mixed_/vc9_test_interval_set_mixed.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_itl_interval_/vc9_test_itl_interval.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_itl_interval_/vc9_test_itl_interval.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_itl_interval_/vc9_test_itl_interval.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_itl_map_/vc9_test_itl_map.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_itl_map_/vc9_test_itl_map.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_itl_map_/vc9_test_itl_map.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_partial_interval_quantifier_/vc9_test_partial_interval_quantifier.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_partial_interval_quantifier_/vc9_test_partial_interval_quantifier.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_partial_interval_quantifier_/vc9_test_partial_interval_quantifier.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -123,7 +123,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_separate_interval_set_/vc9_test_separate_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_separate_interval_set_/vc9_test_separate_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_separate_interval_set_/vc9_test_separate_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_separate_interval_set_infix_/vc9_test_separate_interval_set_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_separate_interval_set_infix_/vc9_test_separate_interval_set_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_separate_interval_set_infix_/vc9_test_separate_interval_set_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_set_interval_set_/vc9_test_set_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_set_interval_set_/vc9_test_set_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_set_interval_set_/vc9_test_set_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_set_itl_set_/vc9_test_set_itl_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_set_itl_set_/vc9_test_set_itl_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_set_itl_set_/vc9_test_set_itl_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_split_interval_map_/vc9_test_split_interval_map.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_split_interval_map_/vc9_test_split_interval_map.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_split_interval_map_/vc9_test_split_interval_map.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_split_interval_map_infix_/vc9_test_split_interval_map_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_split_interval_map_infix_/vc9_test_split_interval_map_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_split_interval_map_infix_/vc9_test_split_interval_map_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_split_interval_set_/vc9_test_split_interval_set.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_split_interval_set_/vc9_test_split_interval_set.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_split_interval_set_/vc9_test_split_interval_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_split_interval_set_infix_/vc9_test_split_interval_set_infix.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_split_interval_set_infix_/vc9_test_split_interval_set_infix.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_split_interval_set_infix_/vc9_test_split_interval_set_infix.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl/test/test_total_interval_quantifier_/vc9_test_total_interval_quantifier.vcproj
==============================================================================
--- sandbox/itl/libs/itl/test/test_total_interval_quantifier_/vc9_test_total_interval_quantifier.vcproj	(original)
+++ sandbox/itl/libs/itl/test/test_total_interval_quantifier_/vc9_test_total_interval_quantifier.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -123,7 +123,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl_xt/example/amount_cube_/vc9_amount_cube.vcproj
==============================================================================
--- sandbox/itl/libs/itl_xt/example/amount_cube_/vc9_amount_cube.vcproj	(original)
+++ sandbox/itl/libs/itl_xt/example/amount_cube_/vc9_amount_cube.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl_xt/example/history_/vc9_history.vcproj
==============================================================================
--- sandbox/itl/libs/itl_xt/example/history_/vc9_history.vcproj	(original)
+++ sandbox/itl/libs/itl_xt/example/history_/vc9_history.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl_xt/test/auto_itv_test_/vc9_auto_itv_test.vcproj
==============================================================================
--- sandbox/itl/libs/itl_xt/test/auto_itv_test_/vc9_auto_itv_test.vcproj	(original)
+++ sandbox/itl/libs/itl_xt/test/auto_itv_test_/vc9_auto_itv_test.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/itl_xt/test/meta_functors_/vc9_meta_functors.vcproj
==============================================================================
--- sandbox/itl/libs/itl_xt/test/meta_functors_/vc9_meta_functors.vcproj	(original)
+++ sandbox/itl/libs/itl_xt/test/meta_functors_/vc9_meta_functors.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -122,7 +122,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_bit_collector_/vc9_labat_bit_collector.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_bit_collector_/vc9_labat_bit_collector.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_bit_collector_/vc9_labat_bit_collector.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_collector_/vc9_labat_collector.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_collector_/vc9_labat_collector.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_collector_/vc9_labat_collector.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_itl_morphic_/vc9_labat_itl_morphic.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_itl_morphic_/vc9_labat_itl_morphic.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_itl_morphic_/vc9_labat_itl_morphic.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_itl_set_/vc9_labat_itl_set.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_itl_set_/vc9_labat_itl_set.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_itl_set_/vc9_labat_itl_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_map_copy_conformity_/vc9_labat_map_copy_conformity.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_map_copy_conformity_/vc9_labat_map_copy_conformity.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_map_copy_conformity_/vc9_labat_map_copy_conformity.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_map_order_/vc9_labat_map_order.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_map_order_/vc9_labat_map_order.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_map_order_/vc9_labat_map_order.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_set_copy_conformity_/vc9_labat_set_copy_conformity.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_set_copy_conformity_/vc9_labat_set_copy_conformity.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_set_copy_conformity_/vc9_labat_set_copy_conformity.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_set_order_/vc9_labat_set_order.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_set_order_/vc9_labat_set_order.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_set_order_/vc9_labat_set_order.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_signed_quantifier_/vc9_labat_signed_quantifier.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_signed_quantifier_/vc9_labat_signed_quantifier.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_signed_quantifier_/vc9_labat_signed_quantifier.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp
==============================================================================
--- sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp	(original)
+++ sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -117,9 +117,9 @@
 
     typedef BinaryAtomicEquivalence
     <
-        itl::interval_bitset<int,itl::bits16>,
-        itl::list<int>,
-        itl::std_includes_forward
+        itl::interval_set<int>,
+        bool,
+        itl::std_equals
     > TestLawT;
 
 
@@ -129,7 +129,7 @@
     int test_count = 1000;
     ptime start, stop;
 
-    GentorProfileSgl::it()->set_std_profile(32,1);
+    GentorProfileSgl::it()->set_std_profile(8,1);
     test_law.set_trials_count(test_count);
 
     TestLawT law;
Modified: sandbox/itl/libs/validate/example/labat_single_/vc9_labat_single.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_single_/vc9_labat_single.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_single_/vc9_labat_single.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -123,7 +123,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/vc9_labat_sorted_associative_bitset.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/vc9_labat_sorted_associative_bitset.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/vc9_labat_sorted_associative_bitset.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Added: sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_back_/labat_sorted_associative_bitset_back.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_back_/labat_sorted_associative_bitset_back.cpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,45 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#include <iostream>
+#include <stdio.h>
+#include <boost/validate/driver/sorted_associative_bitset_back_driver.hpp>
+
+using namespace std;
+using namespace Loki;
+using namespace boost;
+using namespace boost::itl;
+
+void test_sorted_associative_bitset_back_driver()
+{
+    sorted_associative_bitset_back_driver validater;
+    cout << 
+    ">> ------------------------------------------------------ <<\n"
+    ">> -------- Law based test automaton 'LaBatea' ---------- <<\n";
+
+#if(_MSC_VER >= 1400 && defined(_DEBUG) ) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+	cout << msvc_stl_false_order_checking_for_reverse_iteration_message();
+#else
+	cout <<
+    ">> Output will be generated in a few seconds\n"
+    ">> terminate by typing <CTRL>C\n"
+    ">> ------------------------------------------------------ <<\n";
+    GentorProfileSgl::it()->set_std_profile(64,1);
+    GentorProfileSgl::it()->report_profile();
+    validater.validate();
+#endif
+
+};
+
+
+int main()
+{
+    test_sorted_associative_bitset_back_driver();
+    return 0;
+}
Added: sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_back_/vc9_labat_sorted_associative_bitset_back.vcproj
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_back_/vc9_labat_sorted_associative_bitset_back.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="vc9_labat_sorted_associative_bitset_back"
+	ProjectGUID="{AFBDE020-1287-4EE8-A2DB-43F6157FD660}"
+	RootNamespace="vc9_labat_sorted_associative_bitset_back"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="../../../../bin/debug"
+			IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/bigobj"
+				Optimization="0"
+				AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="../../../../bin/release"
+			IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				WholeProgramOptimization="true"
+				AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				ExceptionHandling="1"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				LinkTimeCodeGeneration="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Quelldateien"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\src\gentor\gentorprofile.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\labat_sorted_associative_bitset_back.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Headerdateien"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Ressourcendateien"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Modified: sandbox/itl/libs/validate/example/labat_sorted_associative_map_/vc9_labat_sorted_associative_map.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_sorted_associative_map_/vc9_labat_sorted_associative_map.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_map_/vc9_labat_sorted_associative_map.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
@@ -224,11 +224,11 @@
 				>
                         </File>
                         <File
-				RelativePath="..\..\..\..\boost\validate\typevalidater.h"
+				RelativePath="..\..\..\..\boost\validate\sorted_associative_map_validater.hpp"
 				>
                         </File>
                         <File
-				RelativePath="..\..\..\..\boost\validate\sorted_associative_map_validater.hpp"
+				RelativePath="..\..\..\..\boost\validate\typevalidater.h"
 				>
                         </File>
                 </Filter>
Added: sandbox/itl/libs/validate/example/labat_sorted_associative_map_back_/labat_sorted_associative_map_back.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_map_back_/labat_sorted_associative_map_back.cpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,46 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#include <iostream>
+#include <stdio.h>
+
+#include <boost/validate/driver/sorted_associative_map_back_driver.hpp>
+
+using namespace std;
+using namespace Loki;
+using namespace boost;
+using namespace boost::itl;
+
+void test_sorted_associative_map_back_driver()
+{
+    sorted_associative_map_back_driver validater;
+    cout << 
+    ">> ------------------------------------------------------ <<\n"
+    ">> -------- Law based test automaton 'LaBatea' ---------- <<\n";
+
+#if(_MSC_VER >= 1400 && defined(_DEBUG) ) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+	cout << msvc_stl_false_order_checking_for_reverse_iteration_message();
+#else
+	cout <<
+    ">> Output will be generated in a few seconds\n"
+    ">> terminate by typing <CTRL>C\n"
+    ">> ------------------------------------------------------ <<\n";
+    GentorProfileSgl::it()->set_std_profile(16,1);
+    GentorProfileSgl::it()->report_profile();
+    validater.validate();
+#endif
+
+};
+
+
+int main()
+{
+    test_sorted_associative_map_back_driver();
+    return 0;
+}
Added: sandbox/itl/libs/validate/example/labat_sorted_associative_map_back_/vc9_labat_sorted_associative_map_back.vcproj
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_map_back_/vc9_labat_sorted_associative_map_back.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="vc9_labat_sorted_associative_map_back"
+	ProjectGUID="{BF42574F-66E2-42DD-90D9-3A8FCE6F4772}"
+	RootNamespace="vc9_labat_sorted_associative_map_back"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="../../../../bin/debug"
+			IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/bigobj"
+				Optimization="0"
+				AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="../../../../bin/release"
+			IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				WholeProgramOptimization="true"
+				AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				ExceptionHandling="1"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				LinkTimeCodeGeneration="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Quelldateien"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\src\gentor\gentorprofile.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\labat_sorted_associative_map_back_\labat_sorted_associative_map_back.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Headerdateien"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Ressourcendateien"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Modified: sandbox/itl/libs/validate/example/labat_sorted_associative_set_/labat_sorted_associative_set.cpp
==============================================================================
--- sandbox/itl/libs/validate/example/labat_sorted_associative_set_/labat_sorted_associative_set.cpp	(original)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_set_/labat_sorted_associative_set.cpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -26,7 +26,7 @@
     ">> Output will be generated in a few seconds\n"
     ">> terminate by typing <CTRL>C\n"
     ">> ------------------------------------------------------ <<\n";
-    GentorProfileSgl::it()->set_std_profile(64,1);
+    GentorProfileSgl::it()->set_std_profile(16,1);
     GentorProfileSgl::it()->report_profile();
     validater.validate();
 };
Modified: sandbox/itl/libs/validate/example/labat_sorted_associative_set_/vc9_labat_sorted_associative_set.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_sorted_associative_set_/vc9_labat_sorted_associative_set.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_set_/vc9_labat_sorted_associative_set.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Added: sandbox/itl/libs/validate/example/labat_sorted_associative_set_back_/labat_sorted_associative_set_back.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_set_back_/labat_sorted_associative_set_back.cpp	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,46 @@
+/*-----------------------------------------------------------------------------+    
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+   Distributed under the Boost Software License, Version 1.0.
+      (See accompanying file LICENCE.txt or copy at
+           http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#include <iostream>
+#include <stdio.h>
+
+#include <boost/validate/driver/sorted_associative_set_back_driver.hpp>
+
+using namespace std;
+using namespace Loki;
+using namespace boost;
+using namespace boost::itl;
+
+void test_sorted_associative_set_back_driver()
+{
+    sorted_associative_set_back_driver validater;
+    cout << 
+    ">> ------------------------------------------------------ <<\n"
+    ">> -------- Law based test automaton 'LaBatea' ---------- <<\n";
+
+#if(_MSC_VER >= 1400 && defined(_DEBUG) ) // 1500=MSVC-9.0 1400=MSVC-8.0; 1310=MSVC-7.1; 1300=MSVC-7.0; 
+	cout << msvc_stl_false_order_checking_for_reverse_iteration_message();
+#else
+	cout <<
+    ">> Output will be generated in a few seconds\n"
+    ">> terminate by typing <CTRL>C\n"
+    ">> ------------------------------------------------------ <<\n";
+    GentorProfileSgl::it()->set_std_profile(64,1);
+    GentorProfileSgl::it()->report_profile();
+    validater.validate();
+#endif
+
+};
+
+
+int main()
+{
+    test_sorted_associative_set_back_driver();
+    return 0;
+}
Added: sandbox/itl/libs/validate/example/labat_sorted_associative_set_back_/vc9_labat_sorted_associative_set_back.vcproj
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_set_back_/vc9_labat_sorted_associative_set_back.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="vc9_labat_sorted_associative_set_back"
+	ProjectGUID="{AFBDE020-1287-4EE8-A2DB-43F6157FD670}"
+	RootNamespace="vc9_labat_sorted_associative_set_back"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="../../../../bin/debug"
+			IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/bigobj"
+				Optimization="0"
+				AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="../../../../bin/release"
+			IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				WholeProgramOptimization="true"
+				AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				ExceptionHandling="1"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="4"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				LinkTimeCodeGeneration="1"
+				RandomizedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Quelldateien"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\src\gentor\gentorprofile.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\labat_sorted_associative_set_back.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Headerdateien"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Ressourcendateien"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Modified: sandbox/itl/libs/validate/example/labat_unsigned_quantifier_/vc9_labat_unsigned_quantifier.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_unsigned_quantifier_/vc9_labat_unsigned_quantifier.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_unsigned_quantifier_/vc9_labat_unsigned_quantifier.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj	(original)
+++ sandbox/itl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -124,7 +124,7 @@
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
-				WarningLevel="3"
+				WarningLevel="4"
                                 Detect64BitPortabilityProblems="false"
                                 DebugInformationFormat="3"
                         />
Modified: sandbox/itl/libs/validate/example/vc9_validate_examples.sln
==============================================================================
--- sandbox/itl/libs/validate/example/vc9_validate_examples.sln	(original)
+++ sandbox/itl/libs/validate/example/vc9_validate_examples.sln	2009-12-03 10:50:24 EST (Thu, 03 Dec 2009)
@@ -17,6 +17,12 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_sorted_associative_bitset", "labat_sorted_associative_bitset_\vc9_labat_sorted_associative_bitset.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F4764}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_sorted_associative_bitset_back", "labat_sorted_associative_bitset_back_\vc9_labat_sorted_associative_bitset_back.vcproj", "{AFBDE020-1287-4EE8-A2DB-43F6157FD660}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_sorted_associative_set_back", "labat_sorted_associative_set_back_\vc9_labat_sorted_associative_set_back.vcproj", "{AFBDE020-1287-4EE8-A2DB-43F6157FD670}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_sorted_associative_map_back", "labat_sorted_associative_map_back_\vc9_labat_sorted_associative_map_back.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F4772}"
+EndProject
 Global
         GlobalSection(SolutionConfigurationPlatforms) = preSolution
                 Debug|Win32 = Debug|Win32
@@ -55,6 +61,18 @@
                 {BF42574F-66E2-42DD-90D9-3A8FCE6F4764}.Debug|Win32.Build.0 = Debug|Win32
                 {BF42574F-66E2-42DD-90D9-3A8FCE6F4764}.Release|Win32.ActiveCfg = Release|Win32
                 {BF42574F-66E2-42DD-90D9-3A8FCE6F4764}.Release|Win32.Build.0 = Release|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD660}.Debug|Win32.ActiveCfg = Debug|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD660}.Debug|Win32.Build.0 = Debug|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD660}.Release|Win32.ActiveCfg = Release|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD660}.Release|Win32.Build.0 = Release|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD670}.Debug|Win32.ActiveCfg = Debug|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD670}.Debug|Win32.Build.0 = Debug|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD670}.Release|Win32.ActiveCfg = Release|Win32
+		{AFBDE020-1287-4EE8-A2DB-43F6157FD670}.Release|Win32.Build.0 = Release|Win32
+		{BF42574F-66E2-42DD-90D9-3A8FCE6F4772}.Debug|Win32.ActiveCfg = Debug|Win32
+		{BF42574F-66E2-42DD-90D9-3A8FCE6F4772}.Debug|Win32.Build.0 = Debug|Win32
+		{BF42574F-66E2-42DD-90D9-3A8FCE6F4772}.Release|Win32.ActiveCfg = Release|Win32
+		{BF42574F-66E2-42DD-90D9-3A8FCE6F4772}.Release|Win32.Build.0 = Release|Win32
         EndGlobalSection
         GlobalSection(SolutionProperties) = preSolution
                 HideSolutionNode = FALSE