Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r51238 - in sandbox/itl: boost/itl libs/itl/build/win32 libs/itl/doc libs/itl/test libs/itl/test/test_casual libs/itl/test/test_interval_map libs/itl/test/test_interval_map_mixed libs/itl/test/test_interval_set libs/itl/test/test_itl_map libs/itl/test/test_separate_interval_set libs/itl/test/test_split_interval_map libs/itl/test/test_split_interval_set
From: afojgo_at_[hidden]
Date: 2009-02-13 11:35:12


Author: jofaber
Date: 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
New Revision: 51238
URL: http://svn.boost.org/trac/boost/changeset/51238

Log:
Added tests and documentation. Test for T::find, T::set, codom Maps::op(dom). Stable {msvc-9.0, partly congcc-4.3-a7}

Added:
   sandbox/itl/libs/itl/test/test_itl_map/
   sandbox/itl/libs/itl/test/test_itl_map.hpp (contents, props changed)
   sandbox/itl/libs/itl/test/test_itl_map/test_itl_map.cpp (contents, props changed)
   sandbox/itl/libs/itl/test/test_itl_map/test_itl_map_shared.cpp (contents, props changed)
   sandbox/itl/libs/itl/test/test_itl_map/vc9_test_itl_map.vcproj (contents, props changed)
Text files modified:
   sandbox/itl/boost/itl/interval_base_map.hpp | 6 +-
   sandbox/itl/boost/itl/interval_base_set.hpp | 2
   sandbox/itl/boost/itl/map.hpp | 24 +++++++++
   sandbox/itl/boost/itl/set.hpp | 91 +++++++++++++++++++++++++--------------
   sandbox/itl/libs/itl/build/win32/vc9_all.sln | 6 ++
   sandbox/itl/libs/itl/doc/interface.qbk | 38 +++++++++-------
   sandbox/itl/libs/itl/test/test_casual/test_casual.cpp | 21 +++++---
   sandbox/itl/libs/itl/test/test_interval_map/test_interval_map_shared.cpp | 8 +++
   sandbox/itl/libs/itl/test/test_interval_map_mixed/test_interval_map_mixed.cpp | 5 +
   sandbox/itl/libs/itl/test/test_interval_map_shared.hpp | 57 +++++++++++++++++++++++++
   sandbox/itl/libs/itl/test/test_interval_set/test_interval_set_shared.cpp | 4 +
   sandbox/itl/libs/itl/test/test_interval_set_shared.hpp | 25 ++++++++++
   sandbox/itl/libs/itl/test/test_quantifier_itl_map.hpp | 1
   sandbox/itl/libs/itl/test/test_separate_interval_set/test_separate_interval_set_shared.cpp | 8 +++
   sandbox/itl/libs/itl/test/test_split_interval_map/test_split_interval_map_shared.cpp | 9 +++
   sandbox/itl/libs/itl/test/test_split_interval_set/test_split_interval_set_shared.cpp | 8 +++
   sandbox/itl/libs/itl/test/test_value_maker.hpp | 3
   17 files changed, 247 insertions(+), 69 deletions(-)

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-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -374,7 +374,7 @@
             for all keys in interval \c I in the map. */
     SubType& set(const segment_type& interval_value_pair)
         {
- that()->erase_(interval_value_pair.KEY_VALUE);
+ erase(interval_value_pair.KEY_VALUE);
                 that()->insert_(interval_value_pair);
                 return *that();
         }
@@ -438,11 +438,11 @@
     void add_intersection(interval_base_map& section, const domain_type& key)const
     { add_intersection(section, interval_type(key)); }
 
- /** The intersection of \c key_value_pair in \c *this map is added to \c section. */
+ /** The intersection of \c key_value_pair and \c *this map is added to \c section. */
     void add_intersection(interval_base_map& section, const element_type& key_value_pair)const
     { add_intersection(section, value_type(interval_type(key_value_pair.key), key_value_pair.data)); }
 
- /** The intersection of \c interval_value_pair in \c *this map is added to \c section. */
+ /** The intersection of \c interval_value_pair and \c *this map is added to \c section. */
     void add_intersection(interval_base_map& section, const segment_type& interval_value_pair)const;
 
         /** The intersection of \c inter_val with \c *this map is added to \c section. */

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-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -233,7 +233,7 @@
         /** Find the interval value pair, that contains element \c key */
     const_iterator find(const element_type& key)const
     {
- typename ImplSetT::const_iterator it = this->_map.find(interval_type(key));
+ typename ImplSetT::const_iterator it = this->_set.find(interval_type(key));
         return it;
     }
 

Modified: sandbox/itl/boost/itl/map.hpp
==============================================================================
--- sandbox/itl/boost/itl/map.hpp (original)
+++ sandbox/itl/boost/itl/map.hpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -199,6 +199,17 @@
         else
             return base_type::insert(value_pair);
     }
+ //==========================================================================
+ //= Selection
+ //==========================================================================
+
+ /** Total select function. */
+ codomain_type operator()(const domain_type& key)const
+ {
+ const_iterator it = find(key);
+ return it==end() ? neutron<codomain_type>::value()
+ : it->CONT_VALUE;
+ }
 
         //==========================================================================
         //= Addition, subtraction
@@ -224,7 +235,12 @@
         //==========================================================================
         //= Insertion, erasure
         //==========================================================================
- //JODO
+
+ /** With <tt>key_value_pair = (k,v)</tt> set value \c v for key \c k */
+ map& set(const element_type& key_value_pair)
+ { (*this)[key_value_pair.KEY_VALUE] = key_value_pair.CONT_VALUE; return *this; }
+
+ //JODO
     /** erase the value pair \c pair(key,val) from the map.
         Erase only if, the exact value content \c val is stored at key \key. */
     size_type erase(const value_type& value);
@@ -233,12 +249,16 @@
         //= Intersection
         //==========================================================================
 
+ /** The intersection of \c key in \c *this map is added to \c section. */
         void add_intersection(map& section, const domain_type& key_value)const;
 
- void add_intersection(map& section, const value_type& value_pair)const;
+ /** The intersection of \c key_value_pair and \c *this map is added to \c section. */
+ void add_intersection(map& section, const element_type& key_value_pair)const;
 
+ /** The intersection of set \c sectant with \c *this map is added to \c section. */
         void add_intersection(map& section, const set_type& sectant)const;
 
+ /** The intersection of map \c sectant with \c *this map is added to \c section. */
         void add_intersection(map& section, const map& sectant)const;
 
         //==========================================================================

Modified: sandbox/itl/boost/itl/set.hpp
==============================================================================
--- sandbox/itl/boost/itl/set.hpp (original)
+++ sandbox/itl/boost/itl/set.hpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -72,10 +72,12 @@
         std::set<DomainT, domain_compare, Alloc<DomainT> >(comp){}
 
     template <class InputIterator>
- set(InputIterator f, InputIterator l): std::set<InputIterator>(f,l) {}
+ set(InputIterator first, InputIterator last):
+ std::set<InputIterator>(first,last) {}
 
     template <class InputIterator>
- set(InputIterator f, InputIterator l, const key_compare& comp): std::set<InputIterator>(f,l,comp) {}
+ set(InputIterator first, InputIterator last, const key_compare& comp):
+ std::set<InputIterator>(first, last, comp) {}
 
     set(const set& src): base_type::set(src){}
 
@@ -84,6 +86,11 @@
     set& operator=(const set& src) { base_type::operator=(src); return *this; }
     void swap(set& src) { base_type::swap(src); }
 
+ /** Copy the elements in set \c src to which property \c hasProperty applies
+ into \c *this set. */
+ template<class Predicate>
+ set& assign_if(const set& src, const Predicate&);
+
         //==========================================================================
     using base_type::empty;
     using base_type::clear;
@@ -113,17 +120,19 @@
         //= Emptieness, containment
         //==========================================================================
 
- /// Checks if the element \c x is in the set
- bool contains(const DomainT& x)const { return !(find(x) == end()); }
+ /// Checks if the element \c value is in the set
+ bool contains(const element_type& value)const
+ { return !(find(value) == end()); }
 
     /** Is <tt>*this</tt> contained in <tt>super</tt>? */
- bool contained_in(const set& super)const { return Set::contained_in(*this, super); }
+ bool contained_in(const set& super)const
+ { return Set::contained_in(*this, super); }
 
     /** Does <tt>*this</tt> contain <tt>sub</tt>? */
     bool contains(const set& sub)const { return Set::contained_in(sub, *this); }
 
     /** <tt>*this</tt> and <tt>x2</tt> are disjoint, if their intersection is empty */
- bool disjoint(const set& x2)const { return disjoint(*this, x2); }
+ bool disjoint(const set& x2)const { return Set::disjoint(*this, x2); }
 
         //==========================================================================
         //= Size
@@ -135,18 +144,48 @@
 
         size_t cardinality()const { return size(); }
 
+ //==========================================================================
+ //= Addition, subtraction
+ //==========================================================================
         /** Add an element \c value to the set. */
- set& add(const value_type& value) { insert(value); return *this; }
+ set& add(const element_type& value) { insert(value); return *this; }
 
         /** Subtract an element \c value from the set. */
- set& subtract(const value_type& value);
+ set& subtract(const element_type& value);
 
- void add_intersection(set& section, const domain_type& key_value)const;
+ //==========================================================================
+ //= Insertion, erasure
+ //==========================================================================
+ /** Erase the elements in *this set to which property \c hasProperty applies.
+ Keep all the rest. */
+ template<class Predicate>
+ set& erase_if(const Predicate&);
 
+ //==========================================================================
+ //= Intersection, symmetric difference
+ //==========================================================================
+
+ /** The intersection of \c key in \c *this set is added to \c section. */
+ void add_intersection(set& section, const element_type& key)const;
+
+ /** The intersection of set \c sectant with \c *this set is added
+ to \c section. */
         void add_intersection(set& section, const set& sectant)const;
 
+ /** If \c *this set contains \c value it is erased, otherwise it is added. */
     set& flip(const element_type& value);
 
+ //==========================================================================
+ //= Representation
+ //==========================================================================
+
+ /** Represent this set as a string */
+ std::string as_string(const char* sep = " ")const;
+
+ //==========================================================================
+ //= Algorithm unifiers
+ //==========================================================================
+
     /** \c key_value allows for a uniform access to \c key_values which is
         is used for common algorithms on sets and maps. */
     template<typename IteratorT>
@@ -168,25 +207,13 @@
     static value_type make_element(const key_type& key_val, const data_type& data_val)
     { return key_val; }
 
- /** Erase the elements in *this set to which property \c hasProperty applies.
- Keep all the rest. */
- template<class Predicate>
- set& erase_if(const Predicate&);
-
- /** Copy the elements in set \c src to which property \c hasProperty applies
- into \c *this set. */
- template<class Predicate>
- set& assign_if(const set& src, const Predicate&);
-
- /** Represent this set as a string */
- std::string as_string(const char* sep = " ")const;
 };
 
 
 
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 set<DomainT,Compare,Alloc>&
- set<DomainT,Compare,Alloc>::subtract(const value_type& val)
+ set<DomainT,Compare,Alloc>::subtract(const element_type& val)
 {
     iterator it_ = find(val);
     if(it_ != end())
@@ -197,7 +224,7 @@
 
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 void set<DomainT,Compare,Alloc>
- ::add_intersection(set& section, const domain_type& sectant)const
+ ::add_intersection(set& section, const element_type&sectant)const
 {
         const_iterator it_ = find(sectant);
         if(it_ != end())
@@ -333,13 +360,13 @@
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 inline itl::set<DomainT,Compare,Alloc>&
 operator += ( itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 { return object.add(operand); }
 
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 itl::set<DomainT,Compare,Alloc>
 operator + (const itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 { return itl::set<DomainT,Compare,Alloc>(object) += operand; }
 
 /// Add a set \c operand to this set \object.
@@ -360,13 +387,13 @@
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 inline itl::set<DomainT,Compare,Alloc>&
 operator |= ( itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 { return object.add(operand); }
 
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 itl::set<DomainT,Compare,Alloc>
 operator | (const itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 { return itl::set<DomainT,Compare,Alloc>(object) |= operand; }
 
 /// Add a set \c operand to this set \object.
@@ -387,13 +414,13 @@
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 inline itl::set<DomainT,Compare,Alloc>&
 operator -= ( itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 { return object.subtract(operand); }
 
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 itl::set<DomainT,Compare,Alloc>
 operator - (const itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 { return itl::set<DomainT,Compare,Alloc>(object) -= operand; }
 
 
@@ -416,7 +443,7 @@
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 inline itl::set<DomainT,Compare,Alloc>&
 operator &= ( itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 {
         itl::set<DomainT,Compare,Alloc> section;
         object.add_intersection(section, operand);
@@ -427,7 +454,7 @@
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 itl::set<DomainT,Compare,Alloc>
 operator & (const itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 { return itl::set<DomainT,Compare,Alloc>(object) &= operand; }
 
 
@@ -465,7 +492,7 @@
 template <typename DomainT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
 itl::set<DomainT,Compare,Alloc>
 operator ^ (const itl::set<DomainT,Compare,Alloc>& object,
- const typename itl::set<DomainT,Compare,Alloc>::value_type& operand)
+ const typename itl::set<DomainT,Compare,Alloc>::element_type& operand)
 {
         return itl::set<DomainT,Compare,Alloc>(object) ^= operand;
 }

Modified: sandbox/itl/libs/itl/build/win32/vc9_all.sln
==============================================================================
--- sandbox/itl/libs/itl/build/win32/vc9_all.sln (original)
+++ sandbox/itl/libs/itl/build/win32/vc9_all.sln 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -73,6 +73,8 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_set_itl_set", "..\..\test\test_set_itl_set\vc9_test_set_itl_set.vcproj", "{DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_test_itl_map", "..\..\test\test_itl_map\vc9_test_itl_map.vcproj", "{DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}"
+EndProject
 Global
         GlobalSection(SolutionConfigurationPlatforms) = preSolution
                 Debug|Win32 = Debug|Win32
@@ -223,6 +225,10 @@
                 {DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}.Debug|Win32.Build.0 = Debug|Win32
                 {DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}.Release|Win32.ActiveCfg = Release|Win32
                 {DD9C9854-3882-42B9-BFA1-C6CEBFCE352A}.Release|Win32.Build.0 = Release|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Debug|Win32.Build.0 = Debug|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Release|Win32.ActiveCfg = Release|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}.Release|Win32.Build.0 = Release|Win32
         EndGlobalSection
         GlobalSection(SolutionProperties) = preSolution
                 HideSolutionNode = FALSE

Modified: sandbox/itl/libs/itl/doc/interface.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/interface.qbk (original)
+++ sandbox/itl/libs/itl/doc/interface.qbk 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -414,6 +414,7 @@
 [[`T` ] [] [a container type]]
 [[`P` ] [] [polymorhical container argument type]]
 [[`I,J` ] [] [polymorhical iterator type]]
+[[`V` ] [] [various types `V`, that do dot fall in the categories above]]
 [[1,2,... ] [] [number of implementations for this function]]
 [[A ] [] [implementation generated by compilers]]
 [[[#element_type] [*e]] [T::element_type] [the element type of __itv_sets__ or __itl_sets__]]
@@ -436,18 +437,18 @@
 [[`T::T(const T&)`] [A] [1] [1] [1] [1] [1] [1]]
 [[`T::T(const P&)`] [ ] [__eiS] [__bpM] [ ] [ ] [ ] [ ]]
 [[`T::T(...)`] [3] [ ] [ ] [3] [3] [3] [3]]
-[[`T& T::operator=(const T&)`] [A] [__S] [__M] [1] [1] [1] [1]]
+[[`T& T::operator=(const P&)`] [A] [__S] [__M] [1] [1] [1] [1]]
 [[`void T::swap(T&)`] [ ] [1] [1] [1] [1] [1] [1]]
 [[['*Emptieness, containment*]] [interval][interval\nsets][interval\nmaps][itl::set][itl::map][std::set][std::map]]
 [[`void T::clear()`] [1] [1] [1] [1] [1] [1] [1]]
 [[`bool T::empty()const`] [1] [1] [1] [1] [1] [1] [1]]
 [[`bool T::contains(const P&)const`] [__ei] [__eiS][__eiS __bpM][__es] [__bm] [ ] [ ]]
-[[`bool T::contained_in(const P&)const`] [__e] [__S] [__M] [__s] [__m] [ ] [ ]]
+[[`bool T::contained_in(const P&)const`] [__i] [__S] [__M] [1] [1] [ ] [ ]]
 [[['*Equivalences and Orderings*]][interval][interval\nsets][interval\nmaps][itl::set][itl::map][std::set][std::map]]
 [[`bool operator == (const T&, const T&)`] [1] [1] [1] [1] [1] [1] [1]]
 [[`bool operator != (const T&, const T&)`] [1] [1] [1] [1] [1] [1] [1]]
-[[`bool is_element_equal(const T&, const P&)`] [ ] [?] [?] [1] [1] [ ] [ ]]
-[[`bool is_protonic_equal(const T&, const T&)`][ ] [ ] [1] [ ] [1] [ ] [ ]]
+[[`bool is_element_equal(const T&, const P&)`] [ ] [__S] [__M] [1] [1] [ ] [ ]]
+[[`bool is_protonic_equal(const T&, const T&)`][ ] [ ] [__M] [ ] [1] [ ] [ ]]
 [[`bool operator < (const T&, const T&)`] [1] [1] [1] [1] [1] [1] [1]]
 [[`bool operator > (const T&, const T&)`] [1] [1] [1] [1] [1] [1] [1]]
 [[`bool operator <= (const T&, const T&)`] [1] [1] [1] [1] [1] [1] [1]]
@@ -464,9 +465,9 @@
 [[`domain_type T::first()const`] [1] [1] [1] [ ] [ ] [ ] [ ]]
 [[`domain_type T::last()const`] [1] [1] [1] [ ] [ ] [ ] [ ]]
 [[['*Selection*]] [ ] [ ] [ ] [ ] [ ] [ ] [ ]]
-[[`J T::find(const domain_type&)`] [ ] [2] [2] [2] [2] [2] [2]]
-[[`codomain_type& operator[] (const domain_type&)`][ ] [ ] [??] [ ] [1] [ ] [1]]
-[[`codomain_type operator() (const domain_type&)const`][ ][ ] [1?] [ ] [1?] [ ] [ ]]
+[[`J T::find(const domain_type&)`] [ ] [1] [1] [2] [2] [2] [2]]
+[[`codomain_type& operator[] (const domain_type&)`][ ] [ ] [] [ ] [1] [ ] [1]]
+[[`codomain_type operator() (const domain_type&)const`][ ][ ] [1] [ ] [1] [ ] [ ]]
 [[['*Addition*]] [interval][interval\nsets][interval\nmaps][itl::set][itl::map][std::set][std::map]]
 [[`T& T::add(const P&)`] [ ] [__ei] [__bp] [__e] [__b] [ ] [ ]]
 [[`T& operator +=( T&, const P&)`] [ ] [__eiS] [__bpM] [__es] [__bm] [ ] [ ]]
@@ -476,26 +477,29 @@
 [[['*Subtraction*]] [ ] [ ] [ ] [ ] [ ] [ ] [ ]]
 [[`T& T::subtract(const P&)`] [ ] [__ei] [__bp] [__e] [__b] [ ] [ ]]
 [[`T& operator -=( T&, const P&)`] [ ] [__eiS] [__bpM] [__es] [__bm] [ ] [ ]]
-[[`T operator - (const T&, const P&)`] [ ] [__eiS] [__bpM] [__es] [__bm] [ ] [JODO test]]
+[[`T operator - (const T&, const P&)`] [ ] [__eiS] [__bpM] [__es] [__bm] [ ] [ ]]
 [[['*Insertion, erasure*]] [interval][interval\nsets][interval\nmaps][itl::set][itl::map][std::set][std::map]]
 [[`V T::insert(const P&)`] [ ] [__ei] [__bp] [__e] [__b] [__e] [__b]]
-[[`T& T::set(const P&)`] [ ] [ ] [__bp?] [ ] [__b?] [ ] [JODO]]
-[[`T& T::erase(const P&)`] [ ] [__eiS][__eiS __bpM][__e] [__b] [?__e] [?__b]]
+[[`T& T::set(const P&)`] [ ] [ ] [__bp] [ ] [1] [ ] [ ]]
+[[`T& T::erase(const P&)`] [ ] [__eiS][__eiS __bpM][__e] [__b] [__e] [__b]]
+[/ [`V T::erase(const I&,...)`] [ ] [ ] [ ] [2] [2] [2] [2] ]
 [[['*Intersection, symmetric difference*]] [ ] [ ] [ ] [ ] [ ] [ ] [ ]]
-[[`void T::intersect(T&, const P&)const`] [__i] [__eiS][__eiS __bpM][ ] [ ] [ ] [JODO remove?]]
-[[`void T::add_intersection(T&, const P&)const`][][__eiS][__eiS __bpM][ ] [ ] [ ] [ ]]
-[[`T& operator &=(T&, const P&)`] [__i] [__eiS][__eiS __bpM][?__es][?__bm] [ ] [JODO]]
-[[`T operator & (const T&, const P&)`] [__i] [__eiS][__eiS __bpM][?__es][?__bm] [ ] [JODO]]
+[[`void T::add_intersection(T&, const P&)const`][ ] [__eiS][__eiS __bpM][ ] [ ] [ ] [ ]]
+[[`T& operator &=(T&, const P&)`] [__i] [__eiS][__eiS __bpM][__es] [__bm] [ ] [ ]]
+[[`T operator & (const T&, const P&)`] [__i] [__eiS][__eiS __bpM][__es] [__bm] [ ] [ ]]
 [[`T& T::flip(const P&)`] [ ] [__ei] [__bp] [__e] [__b] [ ] [ ]]
-[[`T& operator ^=(T&, const P&)`] [ ] [__eiS] [__bpM] [?__es][?__bm] [ ] [JODO]]
-[[`T operator ^ (const T&, const P&)`] [ ] [__eiS] [__bpM] [?__es][?__bm] [ ] [JODO]]
-[[['*Iterator related*]] [ ] [ ] [ ] [ ] [ ] [ ] [ ]]
+[[`T& operator ^=(T&, const P&)`] [ ] [__eiS] [__bpM] [__es] [__bm] [ ] [ ]]
+[[`T operator ^ (const T&, const P&)`] [ ] [__eiS] [__bpM] [__es] [__bm] [ ] [ ]]
+[[['*Iterator related*]] [interval][interval\nsets][interval\nmaps][itl::set][itl::map][std::set][std::map]]
 [[`J T::begin()`] [ ] [2] [2] [2] [2] [2] [2]]
 [[`J T::end()`] [ ] [2] [2] [2] [2] [2] [2]]
 [[`J T::rbegin()`] [ ] [2] [2] [2] [2] [2] [2]]
 [[`J T::rend()`] [ ] [2] [2] [2] [2] [2] [2]]
 [[`J T::lower_bound(const I&)`] [ ] [2] [2] [2] [2] [2] [2]]
 [[`J T::upper_bound(const I&)`] [ ] [2] [2] [2] [2] [2] [2]]
+[[['*Streaming, representation*]] [interval][interval\nsets][interval\nmaps][itl::set][itl::map][std::set][std::map]]
+[[`std::basic_ostream operator << (...)`] [1] [1] [1] [1] [1] [1] [1]]
+[[`std::string T::as_string()`] [1] [1] [1] [1] [1] [ ] [ ]]
 ]
 
 [endsect]

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-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -59,14 +59,19 @@
 
 BOOST_AUTO_TEST_CASE(casual_test)
 {
- typedef interval_map<int,nat> IntervalMapT;
- typedef split_interval_map<int,nat> SplitIntervalMapT;
+ typedef int T;
+ typedef itl::map<int,int> ItlMapT;
+ typedef interval_map<int,int> IntervalMapT;
+ typedef split_interval_map<int,int> SplitIntervalMapT;
         
- SplitIntervalMapT left, right;
- //[1 2]->2
- // [2 3]->2
- left.add(IIv(1,2,2));
- left.flip(IIv(2,3,3));
+ IntervalMapT left, right;
 
- BOOST_CHECK_EQUAL(left, right);
+ left.add(IDv(1,3,1));
+ BOOST_CHECK_EQUAL(IntervalMapT().add(IDv(1,3,1))(2), 1);
+ BOOST_CHECK_EQUAL(IntervalMapT().add(IDv(1,3,1))(3) == 1, false);
+ BOOST_CHECK_EQUAL(IntervalMapT().add(IDv(1,3,1))(3), 0);
+ BOOST_CHECK_EQUAL(SplitIntervalMapT().add(IDv(1,3,1))(2), 1);
+ BOOST_CHECK_EQUAL(SplitIntervalMapT().add(IDv(1,3,1))(3) == 1, false);
+ BOOST_CHECK_EQUAL(ItlMapT().add(sK_v(2,1))(2), 1);
+ BOOST_CHECK_EQUAL(ItlMapT().add(sK_v(2,1))(3) == 1, false);
 }

Modified: sandbox/itl/libs/itl/test/test_interval_map/test_interval_map_shared.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map/test_interval_map_shared.cpp (original)
+++ sandbox/itl/libs/itl/test/test_interval_map/test_interval_map_shared.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -74,3 +74,11 @@
 (test_itl_interval_map_infix_caret_overload_4_bicremental_types, T, bicremental_types)
 { interval_map_infix_caret_overload_4_bicremental_types<interval_map, T, int>();}
 
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_map_find_4_bicremental_types, T, bicremental_types)
+{ interval_map_find_4_bicremental_types<interval_map, T, int>();}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_map_set_4_bicremental_types, T, bicremental_types)
+{ interval_map_set_4_bicremental_types<interval_map, T, int>();}
+

Modified: sandbox/itl/libs/itl/test/test_interval_map_mixed/test_interval_map_mixed.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map_mixed/test_interval_map_mixed.cpp (original)
+++ sandbox/itl/libs/itl/test/test_interval_map_mixed/test_interval_map_mixed.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -102,8 +102,9 @@
 
     SplitIntervalMapT split_map;
     IntervalMapT join_map;
- split_map.add(v0_u1); //JODO make_pair(v0,u1); fails
- join_map = split_map;
+ split_map.add(v0_u1); //NOTE: make_pair(v0,u1); fails
+ join_map = split_map; //=t T& T::operator=(const P&) ...
+
 
     BOOST_CHECK_EQUAL( split_map.lower(), join_map.lower() );
     BOOST_CHECK_EQUAL( split_map.upper(), join_map.upper() );

Modified: sandbox/itl/libs/itl/test/test_interval_map_shared.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_map_shared.hpp (original)
+++ sandbox/itl/libs/itl/test/test_interval_map_shared.hpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -1013,5 +1013,62 @@
         BOOST_CHECK_EQUAL(map_b ^ map_pair, map_pair ^ map_b);
 }
 
+template <template<class T, class U,
+ class Traits = partial_absorber,
+ ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, U),
+ ITL_COMBINE Combine = ITL_COMBINE_INSTANCE(itl::inplace_plus, U),
+ ITL_SECTION Section = ITL_SECTION_INSTANCE(itl::inplace_et, U),
+ template<class,ITL_COMPARE>class Interval = interval,
+ ITL_ALLOC Alloc = std::allocator
+ >class IntervalMap,
+ class T, class U>
+void interval_map_find_4_bicremental_types()
+{
+ typedef IntervalMap<T,U> IntervalMapT;
+
+ typename IntervalMapT::interval_mapping_type val_pair1 = IDv(6,9,1);
+ std::pair<const interval<T>, U> val_pair2 = IDv(3,5,3);
+ mapping_pair<T,U> map_pair = K_v(4,3);
+
+ IntervalMapT map_a;
+ map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3));
+
+ IntervalMapT::const_iterator found = map_a.find(MK_v(6));
+
+ BOOST_CHECK_EQUAL( found->CONT_VALUE, MK_u(3) );
+ BOOST_CHECK_EQUAL( map_a(MK_v(6)), MK_u(3) );
+
+ found = map_a.find(MK_v(5));
+
+ BOOST_CHECK_EQUAL( found == map_a.end(), true );
+ BOOST_CHECK_EQUAL( map_a(MK_v(5)), MK_u(0) );
+}
+
+
+template <template<class T, class U,
+ class Traits = partial_absorber,
+ ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, U),
+ ITL_COMBINE Combine = ITL_COMBINE_INSTANCE(itl::inplace_plus, U),
+ ITL_SECTION Section = ITL_SECTION_INSTANCE(itl::inplace_et, U),
+ template<class,ITL_COMPARE>class Interval = interval,
+ ITL_ALLOC Alloc = std::allocator
+ >class IntervalMap,
+ class T, class U>
+void interval_map_set_4_bicremental_types()
+{
+ typedef IntervalMap<T,U> IntervalMapT;
+
+ typename IntervalMapT::interval_mapping_type val_pair1 = IDv(6,9,1);
+ std::pair<const interval<T>, U> val_pair2 = IDv(3,5,3);
+ mapping_pair<T,U> map_pair = K_v(4,3);
+
+ IntervalMapT map_a;
+ map_a.add(CDv(1,3,1)).add(IDv(8,9,1)).add(IIv(6,11,3));
+
+ BOOST_CHECK_EQUAL( map_a.set(CDv(2,10,4)).contains(CDv(2,10,4)), true );
+ BOOST_CHECK_EQUAL( map_a.set(K_v(4,5)).contains(K_v(4,5)), true );
+ BOOST_CHECK_EQUAL( map_a.set(K_v(4,5)).set(CDv(3,5,6)).contains(CDv(3,5,6)), true );
+}
+
 #endif // __test_itl_interval_map_shared_h_JOFA_080920__
 

Modified: sandbox/itl/libs/itl/test/test_interval_set/test_interval_set_shared.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_set/test_interval_set_shared.cpp (original)
+++ sandbox/itl/libs/itl/test/test_interval_set/test_interval_set_shared.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -70,3 +70,7 @@
 (test_itl_interval_set_infix_caret_overload_4_bicremental_types, T, bicremental_types)
 { interval_set_infix_caret_overload_4_bicremental_types<interval_set, T>();}
 
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_set_find_4_bicremental_types, T, bicremental_types)
+{ interval_set_find_4_bicremental_types<interval_set, T>();}
+

Modified: sandbox/itl/libs/itl/test/test_interval_set_shared.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_interval_set_shared.hpp (original)
+++ sandbox/itl/libs/itl/test/test_interval_set_shared.hpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -192,7 +192,6 @@
 
 }
 
-
 template <template< class T,
                     ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
                                         template<class,ITL_COMPARE>class Interval = interval,
@@ -692,5 +691,29 @@
         BOOST_CHECK_EQUAL(set_b ^ MK_v(4), MK_v(4) ^ set_b);
 }
 
+
+template <template< class T,
+ ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
+ template<class,ITL_COMPARE>class Interval = interval,
+ ITL_ALLOC Alloc = std::allocator
+ >class IntervalSet,
+ class T>
+void interval_set_find_4_bicremental_types()
+{
+ typedef IntervalSet<T> IntervalSetT;
+ itl::interval<T> itv = I_D(3,5);
+
+ IntervalSetT set_a;
+ set_a.add(C_D(1,3)).add(I_I(6,11));
+
+ IntervalSetT::const_iterator found = set_a.find(MK_v(6));
+
+ BOOST_CHECK_EQUAL( *found, I_I(6,11) );
+
+ found = set_a.find(MK_v(5));
+
+ BOOST_CHECK_EQUAL( found == set_a.end(), true );
+}
+
 #endif // __test_itl_interval_set_shared_h_JOFA_080920__
 

Added: sandbox/itl/libs/itl/test/test_itl_map.hpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/itl/test/test_itl_map.hpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -0,0 +1,48 @@
+/*----------------------------------------------------------------------------+
+Copyright (c) 2008-2008: 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 __test_itl_itl_map_h_JOFA_090119__
+#define __test_itl_itl_map_h_JOFA_090119__
+
+
+//------------------------------------------------------------------------------
+// Monoid EAN
+//------------------------------------------------------------------------------
+template <class T, class U, class Trt,
+ template<class T, class U,
+ class Traits = Trt,
+ ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, U),
+ ITL_COMBINE Combine = ITL_COMBINE_INSTANCE(itl::inplace_plus, U),
+ ITL_SECTION Section = ITL_SECTION_INSTANCE(itl::inplace_et, U),
+ template<class,ITL_COMPARE>class Interval = interval,
+ ITL_ALLOC Alloc = std::allocator
+ >class IntervalMap
+ >
+void itl_map_find_4_bicremental_types()
+{
+ typedef IntervalMap<T,U,Trt> IntervalMapT;
+ typedef itl::map<T,U,Trt> MapT;
+
+ IntervalMapT itv_map_a;
+ itv_map_a.add(IDv(2,4,1)).add(IIv(6,7,3));
+
+ MapT map_a;
+ Interval::atomize(map_a, itv_map_a);
+
+ MapT::const_iterator found = map_a.find(MK_v(6));
+
+ BOOST_CHECK_EQUAL( found->CONT_VALUE, MK_u(3) );
+ BOOST_CHECK_EQUAL( map_a(MK_v(6)), MK_u(3) );
+
+ found = map_a.find(MK_v(5));
+
+ BOOST_CHECK_EQUAL( found == map_a.end(), true );
+ BOOST_CHECK_EQUAL( map_a(MK_v(5)), MK_u(0) );
+}
+
+#endif // __test_itl_itl_map_h_JOFA_090119__
+

Added: sandbox/itl/libs/itl/test/test_itl_map/test_itl_map.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/itl/test/test_itl_map/test_itl_map.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -0,0 +1,38 @@
+/*----------------------------------------------------------------------------+
+Copyright (c) 2008-2008: 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)
++----------------------------------------------------------------------------*/
+#define BOOST_TEST_MODULE itl::interval_set unit test
+#include <string>
+#include <boost/mpl/list.hpp>
+#include <boost/test/unit_test.hpp>
+#include <boost/test/test_case_template.hpp>
+
+// interval instance types
+#include "../test_type_lists.hpp"
+#include "../test_value_maker.hpp"
+#include "../test_laws.hpp"
+
+#include <boost/itl/map.hpp>
+#include <boost/itl/interval_map.hpp>
+#include <boost/itl/interval_morphism.hpp>
+
+using namespace std;
+using namespace boost;
+using namespace unit_test;
+using namespace boost::itl;
+
+// -----------------------------------------------------------------------------
+// test_interval_set_shared are tests that should give identical results for all
+// interval_sets: interval_set, separate_interval_set and split_interval_set.
+#include "../test_itl_map.hpp"
+
+// Due to limited expressiveness of the testing framework, the testcode in files
+// test_interval_map{,_split}_shared.cpp is generated through code
+// replication.
+#include "test_itl_map_shared.cpp"
+
+

Added: sandbox/itl/libs/itl/test/test_itl_map/test_itl_map_shared.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/itl/test/test_itl_map/test_itl_map_shared.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -0,0 +1,12 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2008: 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)
++-----------------------------------------------------------------------------*/
+
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_itl_map_find_4_bicremental_types, T, bicremental_types)
+{ itl_map_find_4_bicremental_types<T, int, partial_absorber, interval_map>();}
+

Added: sandbox/itl/libs/itl/test/test_itl_map/vc9_test_itl_map.vcproj
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/itl/test/test_itl_map/vc9_test_itl_map.vcproj 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_test_itl_map"
+ ProjectGUID="{DD9C9854-3882-42B9-BFA1-C6CEBFCE352B}"
+ RootNamespace="Test_itl_map"
+ 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"
+ 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"
+ OutputFile="../../../../bin/debug/$(ProjectName).exe"
+ 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"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="../../../../bin/release/$(ProjectName).exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ 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=".\test_itl_map.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Headerdateien"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\test_type_lists.hpp"
+ >
+ </File>
+ </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>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: sandbox/itl/libs/itl/test/test_quantifier_itl_map.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_quantifier_itl_map.hpp (original)
+++ sandbox/itl/libs/itl/test/test_quantifier_itl_map.hpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -294,6 +294,5 @@
         CHECK_ABELIAN_GROUP_INSTANCE_WRT_EQUAL(pipe) (is_protonic_equal, map_a, map_b, map_c, map_pair1, map_pair2);
 }
 
-
 #endif // __test_itl_quantifier_itl_map_h_JOFA_090119__
 

Modified: sandbox/itl/libs/itl/test/test_separate_interval_set/test_separate_interval_set_shared.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_separate_interval_set/test_separate_interval_set_shared.cpp (original)
+++ sandbox/itl/libs/itl/test/test_separate_interval_set/test_separate_interval_set_shared.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -58,4 +58,12 @@
 (test_itl_interval_set_infix_et_overload_4_bicremental_types, T, bicremental_types)
 { interval_set_infix_et_overload_4_bicremental_types<interval_set, T>();}
 
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_set_infix_caret_overload_4_bicremental_types, T, bicremental_types)
+{ interval_set_infix_caret_overload_4_bicremental_types<interval_set, T>();}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_set_find_4_bicremental_types, T, bicremental_types)
+{ interval_set_find_4_bicremental_types<interval_set, T>();}
+
 

Modified: sandbox/itl/libs/itl/test/test_split_interval_map/test_split_interval_map_shared.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_split_interval_map/test_split_interval_map_shared.cpp (original)
+++ sandbox/itl/libs/itl/test/test_split_interval_map/test_split_interval_map_shared.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -61,3 +61,12 @@
 BOOST_AUTO_TEST_CASE_TEMPLATE
 (test_itl_interval_map_infix_et_overload_4_bicremental_types, T, bicremental_types)
 { interval_map_infix_et_overload_4_bicremental_types<split_interval_map, T, int>();}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_map_infix_caret_overload_4_bicremental_types, T, bicremental_types)
+{ interval_map_infix_caret_overload_4_bicremental_types<split_interval_map, T, int>();}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_map_find_4_bicremental_types, T, bicremental_types)
+{ interval_map_find_4_bicremental_types<split_interval_map, T, int>();}
+

Modified: sandbox/itl/libs/itl/test/test_split_interval_set/test_split_interval_set_shared.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_split_interval_set/test_split_interval_set_shared.cpp (original)
+++ sandbox/itl/libs/itl/test/test_split_interval_set/test_split_interval_set_shared.cpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -58,4 +58,12 @@
 (test_itl_interval_set_infix_et_overload_4_bicremental_types, T, bicremental_types)
 { interval_set_infix_et_overload_4_bicremental_types<interval_set, T>();}
 
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_set_infix_caret_overload_4_bicremental_types, T, bicremental_types)
+{ interval_set_infix_caret_overload_4_bicremental_types<interval_set, T>();}
+
+BOOST_AUTO_TEST_CASE_TEMPLATE
+(test_itl_interval_set_find_4_bicremental_types, T, bicremental_types)
+{ interval_set_find_4_bicremental_types<interval_set, T>();}
+
 

Modified: sandbox/itl/libs/itl/test/test_value_maker.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_value_maker.hpp (original)
+++ sandbox/itl/libs/itl/test/test_value_maker.hpp 2009-02-13 11:35:09 EST (Fri, 13 Feb 2009)
@@ -120,8 +120,7 @@
 #define C_D(low,up) itl::interval<T>::open (make<T>(low), make<T>(up))
 
 #define MK_v(key) make<T>(key)
-
-
+#define MK_u(key) make<U>(key)
 
 // Very short value denotation for interval value pairs
 // Assumption typename IntervalMapT existes in scope


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk