Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50343 - in sandbox/itl: boost/itl libs/itl/test
From: afojgo_at_[hidden]
Date: 2008-12-21 08:48:57


Author: jofaber
Date: 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
New Revision: 50343
URL: http://svn.boost.org/trac/boost/changeset/50343

Log:
Refactored: For Sets: Moved template parameter Interval before Alloc. Stable {msvc-9.0, partly congcc-4.3-a7}
Text files modified:
   sandbox/itl/boost/itl/interval_base_map.hpp | 23 -
   sandbox/itl/boost/itl/interval_base_set.hpp | 64 ++--
   sandbox/itl/boost/itl/interval_map.hpp | 2
   sandbox/itl/boost/itl/interval_maps.hpp | 53 +---
   sandbox/itl/boost/itl/interval_set.hpp | 51 ++--
   sandbox/itl/boost/itl/interval_sets.hpp | 453 ++++++++++++++-------------------------
   sandbox/itl/boost/itl/separate_interval_set.hpp | 38 +-
   sandbox/itl/boost/itl/split_interval_map.hpp | 2
   sandbox/itl/boost/itl/split_interval_set.hpp | 52 ++--
   sandbox/itl/libs/itl/test/test_interval_set_shared.hpp | 63 +++--
   10 files changed, 328 insertions(+), 473 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 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -223,7 +223,7 @@
 
 
     // Corresponding abstract interval set type
- //typedef interval_base_set<SetSubType,DomainT,Interval,Compare,Alloc> interval_base_set_type;
+ //typedef interval_base_set<SetSubType,DomainT,Compare,Interval,Alloc> interval_base_set_type;
 
     /// The atomized type is elementbased map that is equivalent to the interval map
     typedef typename itl::map<DomainT,CodomainT,
@@ -551,9 +551,9 @@
         All values within the scope of the interval set \c x will be erased.
     */
     template<class SetSubType>
- SubType& erase(const interval_base_set<SetSubType,DomainT,Interval,Compare,Alloc>& x)
+ SubType& erase(const interval_base_set<SetSubType,DomainT,Compare,Interval,Alloc>& x)
     {
- typedef interval_base_set<SetSubType,DomainT,Interval,Compare,Alloc> interval_base_set_type;
+ typedef interval_base_set<SetSubType,DomainT,Compare,Interval,Alloc> interval_base_set_type;
         for(typename interval_base_set_type::const_iterator x_ = x.begin(); x_ != x.end(); ++x_)
             erase(*x_);
     
@@ -626,20 +626,16 @@
     template
     <
         template
- <
- class DomT,
- template<class DomT2, ITL_COMPARE>class Interv,
- ITL_COMPARE Comp, ITL_ALLOC Allc
- >
+ <class DomT, ITL_COMPARE Comp, template<class DomT2, ITL_COMPARE>class Interv, ITL_ALLOC Allc>
         class IntervalSet
>
     void add_intersection
     (
               interval_base_map& section,
- const IntervalSet<DomainT,Interval,Compare,Alloc>& sectant
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& sectant
     )const
     {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> set_type;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> set_type;
         if(sectant.empty()) return;
 
         // THINK JODO optimize using the ordering: if intervalls are beyond borders we can terminate
@@ -716,13 +712,10 @@
     template
     <
         template
- <
- class DomT, template<class DomT2,ITL_COMPARE>class Interv,
- ITL_COMPARE Comp, ITL_ALLOC Allc
- >
+ <class DomT, ITL_COMPARE Comp, template<class DomT2, ITL_COMPARE>class Interv, ITL_ALLOC Allc>
         class IntervalSet
>
- void domain(IntervalSet<DomainT,Interval,Compare,Alloc>& dom)const
+ void domain(IntervalSet<DomainT,Compare,Interval,Alloc>& dom)const
     {
         dom.clear();
         const_FOR_IMPLMAP(it)

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 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -102,8 +102,8 @@
 <
     typename SubType,
     typename DomainT,
- template<class, ITL_COMPARE>class Interval = itl::interval,
     ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT),
+ template<class, ITL_COMPARE>class Interval = itl::interval,
     ITL_ALLOC Alloc = std::allocator
>
 #ifdef USE_CONCEPTS
@@ -114,7 +114,7 @@
 public:
 
     //A: Type definitions for the template class
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> type;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> type;
 
     /// The designated \e derived or \e sub_type of this base class
     typedef SubType sub_type;
@@ -436,11 +436,11 @@
 
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc
>
-typename interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::size_type
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::cardinality()const
+typename interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::size_type
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::cardinality()const
 {
     using namespace boost::mpl;
     return if_<
@@ -467,12 +467,12 @@
 
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc
>
 typename
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::difference_type
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::length()const
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::difference_type
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::length()const
 {
     difference_type length = neutron<difference_type>::value();
     const_FOR_IMPL(it)
@@ -483,10 +483,10 @@
 
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc
>
-bool interval_base_set<SubType,DomainT,Interval,Compare,Alloc>
+bool interval_base_set<SubType,DomainT,Compare,Interval,Alloc>
     ::contained_in(const interval_base_set& x2)const
 {
     // The empty set is subset of every set
@@ -510,8 +510,8 @@
 
 
 template<class SubType,
- class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-void interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::add_intersection(interval_base_set& section, const value_type& x)const
+ class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+void interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::add_intersection(interval_base_set& section, const value_type& x)const
 {
     // any intersection with the empty intervall is empty
     if(x.empty())
@@ -530,8 +530,8 @@
 
 
 template<class SubType,
- class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::join()
+ class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::join()
 {
     iterator it=_set.begin();
     if(it==_set.end())
@@ -573,8 +573,8 @@
 
 
 template<class SubType,
- class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-void interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::uniform_bounds(typename interval<DomainT>::bound_types bt)
+ class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+void interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::uniform_bounds(typename interval<DomainT>::bound_types bt)
 {
     // I can do this only, because I am shure that the contents and the
     // ordering < on interval is invariant wrt. this transformation on bounds
@@ -583,9 +583,9 @@
 
 
 template<class SubType,
- class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-inline bool operator == (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& lhs,
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& rhs)
+ class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+inline bool operator == (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& lhs,
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& rhs)
 {
     //MEMO PORT: This implemetation worked with stlport, sgi and gnu
     // implementations of the stl. But using MSVC-implementation
@@ -596,9 +596,9 @@
 }
 
 template<class SubType,
- class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-inline bool operator < (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& lhs,
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& rhs)
+ class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+inline bool operator < (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& lhs,
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& rhs)
 {
     return std::lexicographical_compare(
         lhs.begin(), lhs.end(), rhs.begin(), rhs.end(),
@@ -607,22 +607,22 @@
 }
 
 template<class SubType,
- class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-inline bool operator <= (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& lhs,
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& rhs)
+ class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+inline bool operator <= (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& lhs,
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& rhs)
 {
     return lhs < rhs || lhs == rhs;
 }
 
 
 template<class CharType, class CharTraits,
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc>
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
 std::basic_ostream<CharType, CharTraits>& operator <<
   (std::basic_ostream<CharType, CharTraits>& stream,
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object)
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object)
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> IntervalSetT;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> IntervalSetT;
     stream << "{";
     const_FORALL(typename IntervalSetT, it, object)
         stream << (*it);

Modified: sandbox/itl/boost/itl/interval_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_map.hpp (original)
+++ sandbox/itl/boost/itl/interval_map.hpp 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -137,7 +137,7 @@
 
         typedef typename base_type::codomain_combine codomain_combine;
 
- typedef interval_set<DomainT,Interval,Compare,Alloc> interval_set_type;
+ typedef interval_set<DomainT,Compare,Interval,Alloc> interval_set_type;
     typedef interval_set_type set_type;
 
     /// Default constructor for the empty map

Modified: sandbox/itl/boost/itl/interval_maps.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_maps.hpp (original)
+++ sandbox/itl/boost/itl/interval_maps.hpp 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -472,21 +472,16 @@
 <
     class SubType, class DomainT, class CodomainT, class Traits,
     ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 interval_base_map<SubType,DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc>&
 operator -=
 (
           interval_base_map<SubType,DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc>& object,
- const IntervalSet<DomainT,Interval,Compare,Alloc>& erasure
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& erasure
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> set_type;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> set_type;
     const_FORALL(typename set_type, interval_, erasure)
         object.erase(*interval_);
 
@@ -497,18 +492,13 @@
 <
     class SubType, class DomainT, class CodomainT, class Traits,
     ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 interval_base_map<SubType,DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc>
 operator -
 (
     const interval_base_map<SubType,DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc>& object,
- const IntervalSet<DomainT,Interval,Compare,Alloc>& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& operand
 )
 {
         typedef interval_base_map<SubType,DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc> ObjectT;
@@ -786,26 +776,19 @@
 template
 <
     class SubType, class DomainT, class CodomainT, class Traits,
-
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 //JODO boost::enable_if
 bool is_disjoint
 (
           interval_base_map<SubType,DomainT,CodomainT,
                             Traits,Compare,Combine,Section,Interval,Alloc>& object,
- const IntervalSet<DomainT,Interval,Compare,Alloc>& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& operand
 )
 {
     typedef interval_base_map<SubType,DomainT,CodomainT,
                               Traits,Compare,Combine,Section,Interval,Alloc> object_type;
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> operand_type;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> operand_type;
     object_type intersection;
 
     if(operand.empty())
@@ -839,24 +822,19 @@
         ITL_COMPARE, ITL_COMBINE, ITL_SECTION, template<class,ITL_COMPARE>class, ITL_ALLOC
>
     class IntervalMap,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 //JODO boost::enable_if
 bool is_disjoint
 (
     const IntervalMap<DomainT,CodomainT,
                       Traits,Compare,Combine,Section,Interval,Alloc>& object,
- const IntervalSet<DomainT,Interval,Compare,Alloc>& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& operand
 )
 {
     typedef IntervalMap<DomainT,CodomainT,
                         Traits,Compare,Combine,Section,Interval,Alloc> object_type;
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> operand_type;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> operand_type;
     object_type intersection;
 
     if(operand.empty())
@@ -889,17 +867,12 @@
         ITL_COMPARE, ITL_COMBINE, ITL_SECTION, template<class,ITL_COMPARE>class, ITL_ALLOC
>
     class IntervalMap,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 //JODO boost::enable_if
 bool is_disjoint
 (
- const IntervalSet<DomainT,Interval,Compare,Alloc>& left,
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& left,
     const IntervalMap<DomainT,CodomainT,
                       Traits,Compare,Combine,Section,Interval,Alloc>& right
 )

Modified: sandbox/itl/boost/itl/interval_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_set.hpp (original)
+++ sandbox/itl/boost/itl/interval_set.hpp 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -103,22 +103,21 @@
 template
 <
     typename DomainT,
- template<class,ITL_COMPARE>class
- Interval = itl::interval,
     ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT),
+ template<class,ITL_COMPARE>class Interval = itl::interval,
     ITL_ALLOC Alloc = std::allocator
>
 class interval_set:
- public interval_base_set<interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc>
+ public interval_base_set<interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc>
 {
 public:
 
     /// The base_type of this class
- typedef interval_base_set<itl::interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc> base_type;
+ typedef interval_base_set<itl::interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc> base_type;
 
- typedef interval_set<DomainT,Interval,Compare,Alloc> type;
+ typedef interval_set<DomainT,Compare,Interval,Alloc> type;
     typedef type joint_type;
 
     /// The domain type of the set
@@ -175,7 +174,7 @@
     /// Copy constructor for base_type
     template<class SubType>
     explicit interval_set
- (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
     { assign(src); }
 
     /// Constructor for a single element
@@ -188,15 +187,15 @@
     /// Assignment operator
     template<class SubType>
     interval_set& operator =
- (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
     { assign(src); return *this; }
 
 
     /// Assignment from a base interval_set.
     template<class SubType>
- void assign(const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
     {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> base_set_type;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> base_set_type;
         this->clear();
         // Has to be implemented via add. there might be touching borders to be joined
         const_FORALL(typename base_set_type, it, src)
@@ -205,8 +204,8 @@
 
 private:
         friend class
- interval_base_set<interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc>;
+ interval_base_set<interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc>;
 
     /// Does the set contain the interval <tt>x</tt>?
     bool contains_(const interval_type& x)const;
@@ -227,8 +226,8 @@
 
 
 
-template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-bool interval_set<DomainT,Interval,Compare,Alloc>::contains_(const interval_type& x)const
+template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+bool interval_set<DomainT,Compare,Interval,Alloc>::contains_(const interval_type& x)const
 {
     // Emptiness is contained in everything
     if(x.empty())
@@ -249,8 +248,8 @@
 }
 
 
-template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-void interval_set<DomainT,Interval,Compare,Alloc>::handle_neighbours(const iterator& it)
+template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+void interval_set<DomainT,Compare,Interval,Alloc>::handle_neighbours(const iterator& it)
 {
     if(it == this->_set.begin())
     {
@@ -290,9 +289,9 @@
 
 
 
-template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-typename interval_set<DomainT,Interval,Compare,Alloc>::iterator
- interval_set<DomainT,Interval,Compare,Alloc>
+template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+typename interval_set<DomainT,Compare,Interval,Alloc>::iterator
+ interval_set<DomainT,Compare,Interval,Alloc>
     ::joint_insert(const iterator& left_it, const iterator& right_it)
 {
     // both left and right are in the set and they are neighbours
@@ -311,8 +310,8 @@
 }
 
 
-template<class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-void interval_set<DomainT,Interval,Compare,Alloc>::add_(const value_type& x)
+template<class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+void interval_set<DomainT,Compare,Interval,Alloc>::add_(const value_type& x)
 {
     if(x.empty()) return;
 
@@ -344,8 +343,8 @@
 }
 
 
-template<class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-void interval_set<DomainT,Interval,Compare,Alloc>::subtract_(const value_type& x)
+template<class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+void interval_set<DomainT,Compare,Interval,Alloc>::subtract_(const value_type& x)
 {
     if(x.empty()) return;
     typename ImplSetT::iterator fst_it = this->_set.lower_bound(x);
@@ -372,8 +371,8 @@
 //-----------------------------------------------------------------------------
 template <typename DomainT, template<class,ITL_COMPARE>class Interval,
           ITL_COMPARE Compare, ITL_ALLOC Alloc>
-inline bool is_element_equal(const interval_set<DomainT,Interval,Compare,Alloc>& lhs,
- const interval_set<DomainT,Interval,Compare,Alloc>& rhs)
+inline bool is_element_equal(const interval_set<DomainT,Compare,Interval,Alloc>& lhs,
+ const interval_set<DomainT,Compare,Interval,Alloc>& rhs)
 {
     return &lhs == &rhs || Set::lexicographical_equal(lhs, rhs);
 }

Modified: sandbox/itl/boost/itl/interval_sets.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_sets.hpp (original)
+++ sandbox/itl/boost/itl/interval_sets.hpp 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -14,7 +14,7 @@
 namespace boost{namespace itl
 {
 
-template<typename, template<class,ITL_COMPARE>class, ITL_COMPARE, ITL_ALLOC>
+template<typename, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>
 class interval_set;
 
 //-----------------------------------------------------------------------------
@@ -22,23 +22,18 @@
 //-----------------------------------------------------------------------------
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>&
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>&
 operator +=
 (
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> set_type;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> set_type;
     const_FORALL(typename set_type, elem_, operand)
         object.add(*elem_);
 
@@ -47,23 +42,18 @@
 
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>
 operator +
 (
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) += operand;
 }
 //-----------------------------------------------------------------------------
@@ -71,20 +61,15 @@
 //--- interval_type -----------------------------------------------------------
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>&
+IntervalSet<DomainT,Compare,Interval,Alloc>&
 operator +=
 (
- IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::interval_type& interval
+ IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::interval_type& interval
 )
 {
     return object.add(interval);
@@ -92,23 +77,18 @@
 
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>
+IntervalSet<DomainT,Compare,Interval,Alloc>
 operator +
 (
- const IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::interval_type& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::interval_type& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) += operand;
 }
 //-----------------------------------------------------------------------------
@@ -116,20 +96,15 @@
 //--- domain_type -------------------------------------------------------------
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>&
+IntervalSet<DomainT,Compare,Interval,Alloc>&
 operator +=
 (
- IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::domain_type& value
+ IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::domain_type& value
 )
 {
     return object.add(value);
@@ -137,23 +112,18 @@
 
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>
+IntervalSet<DomainT,Compare,Interval,Alloc>
 operator +
 (
- const IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::domain_type& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::domain_type& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) += operand;
 }
 //-----------------------------------------------------------------------------
@@ -163,23 +133,18 @@
 //-----------------------------------------------------------------------------
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>&
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>&
 operator -=
 (
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> operand_type;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> operand_type;
         const_FORALL(typename operand_type, elem_, operand)
             object.subtract(*elem_);
 
@@ -188,23 +153,18 @@
 
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>
 operator -
 (
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) -= operand;
 }
 //-----------------------------------------------------------------------------
@@ -213,20 +173,15 @@
 //--- interval_type -----------------------------------------------------------
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>&
+IntervalSet<DomainT,Compare,Interval,Alloc>&
 operator -=
 (
- IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::interval_type& interval
+ IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::interval_type& interval
 )
 {
     return object.subtract(interval);
@@ -234,23 +189,18 @@
 
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>
+IntervalSet<DomainT,Compare,Interval,Alloc>
 operator -
 (
- const IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::interval_type& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::interval_type& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) -= operand;
 }
 //-----------------------------------------------------------------------------
@@ -258,20 +208,15 @@
 //--- domain_type -------------------------------------------------------------
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>&
+IntervalSet<DomainT,Compare,Interval,Alloc>&
 operator -=
 (
- IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::domain_type& value
+ IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::domain_type& value
 )
 {
     return object.subtract(value);
@@ -279,23 +224,18 @@
 
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>
+IntervalSet<DomainT,Compare,Interval,Alloc>
 operator -
 (
- const IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::domain_type& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::domain_type& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) -= operand;
 }
 //-----------------------------------------------------------------------------
@@ -305,24 +245,19 @@
 //-----------------------------------------------------------------------------
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>&
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>&
 operator *=
 (
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> object_type;
- typedef IntervalSet <DomainT,Interval,Compare,Alloc> operand_type;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> object_type;
+ typedef IntervalSet <DomainT,Compare,Interval,Alloc> operand_type;
     object_type intersection;
 
     if(operand.empty())
@@ -351,23 +286,18 @@
 
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>
 operator *
 (
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) *= operand;
 }
 //-----------------------------------------------------------------------------
@@ -375,23 +305,18 @@
 //--- interval_type -----------------------------------------------------------
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>&
+IntervalSet<DomainT,Compare,Interval,Alloc>&
 operator *=
 (
- IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::interval_type& interval
+ IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::interval_type& interval
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> object_type;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> object_type;
     object_type intersection;
 
     if(interval.empty())
@@ -407,23 +332,18 @@
 
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>
+IntervalSet<DomainT,Compare,Interval,Alloc>
 operator *
 (
- const IntervalSet<DomainT,Interval,Compare,Alloc>& object,
- const typename IntervalSet<DomainT,Interval,Compare,Alloc>::interval_type& operand
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& object,
+ const typename IntervalSet<DomainT,Compare,Interval,Alloc>::interval_type& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) *= operand;
 }
 //-----------------------------------------------------------------------------
@@ -431,46 +351,36 @@
 //--- domain_type -------------------------------------------------------------
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>&
+IntervalSet<DomainT,Compare,Interval,Alloc>&
 operator *=
 (
- IntervalSet<DomainT,Interval,Compare,Alloc>& object,
+ IntervalSet<DomainT,Compare,Interval,Alloc>& object,
     const DomainT& value
 )
 {
- typedef typename IntervalSet<DomainT,Interval,Compare,Alloc>
+ typedef typename IntervalSet<DomainT,Compare,Interval,Alloc>
         ::interval_type interval_type;
     return object *= interval_type(value);
 }
 
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-IntervalSet<DomainT,Interval,Compare,Alloc>
+IntervalSet<DomainT,Compare,Interval,Alloc>
 operator *
 (
- const IntervalSet<DomainT,Interval,Compare,Alloc>& object,
+ const IntervalSet<DomainT,Compare,Interval,Alloc>& object,
     const DomainT& operand
 )
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> ObjectT;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> ObjectT;
         return ObjectT(object) *= operand;
 }
 //-----------------------------------------------------------------------------
@@ -480,19 +390,14 @@
 //-----------------------------------------------------------------------------
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 bool is_element_equal
 (
- const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
         return Interval_Set::is_element_equal(object, operand);
@@ -505,23 +410,18 @@
 //-----------------------------------------------------------------------------
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 bool is_disjoint
 (
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> object_type;
- typedef IntervalSet <DomainT,Interval,Compare,Alloc> operand_type;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> object_type;
+ typedef IntervalSet <DomainT,Compare,Interval,Alloc> operand_type;
     object_type intersection;
 
     if(operand.empty())
@@ -544,28 +444,24 @@
     return true;
 }
 
+/*CL used??? if so move it to interval_maps.hpp
 template
 <
- class SubType, class DomainT, class CodomainT,
- class Traits, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, class, class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalMap
+ class SubType, class DomainT, class CodomainT, class Traits,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_SECTION Section,
+ template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
 bool is_disjoint
 (
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
     const IntervalMap<DomainT,CodomainT,
- Traits,Interval,Compare,Alloc>& operand
+ Traits,Compare,Combine,Section,Interval,Alloc>& operand
 )
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> object_type;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> object_type;
     typedef IntervalMap<DomainT,CodomainT,
- Traits,Interval,Compare,Alloc> operand_type;
+ Traits,Compare,Interval,Alloc> operand_type;
     object_type intersection;
 
     if(operand.empty())
@@ -589,27 +485,22 @@
 
     return true;
 }
-
+*/
 
 //-----------------------------------------------------------------------------
 // insert
 //-----------------------------------------------------------------------------
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>&
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>&
 insert
 (
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
     return object += operand;
@@ -620,20 +511,15 @@
 //-----------------------------------------------------------------------------
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-interval_base_set<SubType,DomainT,Interval,Compare,Alloc>&
+interval_base_set<SubType,DomainT,Compare,Interval,Alloc>&
 erase
 (
- interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object,
- const IntervalSet <DomainT,Interval,Compare,Alloc>& operand
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object,
+ const IntervalSet <DomainT,Compare,Interval,Alloc>& operand
 )
 {
     return object -= operand;
@@ -645,19 +531,14 @@
 //-----------------------------------------------------------------------------
 template
 <
- class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc,
- template
- <
- class, template<class,ITL_COMPARE>class,
- ITL_COMPARE, ITL_ALLOC
- >
- class IntervalSet
+ class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc,
+ template<class, ITL_COMPARE, template<class,ITL_COMPARE>class, ITL_ALLOC>class IntervalSet
>
-typename IntervalSet<DomainT,Interval,Compare,Alloc>::interval_type
-enclosure(const IntervalSet<DomainT,Interval,Compare,Alloc>& object)
+typename IntervalSet<DomainT,Compare,Interval,Alloc>::interval_type
+enclosure(const IntervalSet<DomainT,Compare,Interval,Alloc>& object)
 {
- typedef IntervalSet<DomainT,Interval,Compare,Alloc> IntervalSetT;
+ typedef IntervalSet<DomainT,Compare,Interval,Alloc> IntervalSetT;
     typedef typename IntervalSetT::interval_type interval_type;
     return
         object.empty() ? neutron<interval_type>::value()
@@ -666,13 +547,13 @@
 
 template
 <
- class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
- ITL_COMPARE Compare, ITL_ALLOC Alloc
+ class SubType, class DomainT,
+ ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc
>
-typename interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::interval_type
-enclosure(const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& object)
+typename interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::interval_type
+enclosure(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& object)
 {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> IntervalSetT;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> IntervalSetT;
     typedef typename IntervalSetT::interval_type interval_type;
     return
         object.empty() ? neutron<interval_type>::value()

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 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -67,23 +67,23 @@
 template
 <
     typename DomainT,
- template<class,ITL_COMPARE>class Interval = itl::interval,
     ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT),
+ template<class,ITL_COMPARE>class Interval = itl::interval,
     ITL_ALLOC Alloc = std::allocator
>
 class separate_interval_set:
- public interval_base_set<separate_interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc>
+ public interval_base_set<separate_interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc>
 {
 public:
     // inherit all typedefs
 
- typedef interval_base_set<itl::separate_interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc> base_type;
+ typedef interval_base_set<itl::separate_interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc> base_type;
 
- typedef separate_interval_set<DomainT,Interval,Compare,Alloc> type;
+ typedef separate_interval_set<DomainT,Compare,Interval,Alloc> type;
 
- typedef interval_set<DomainT,Interval,Compare,Alloc> joint_type;
+ typedef interval_set<DomainT,Compare,Interval,Alloc> joint_type;
 
     /// The domain type of the set
     typedef DomainT domain_type;
@@ -140,7 +140,7 @@
     /// Copy constructor for base_type
     template<class SubType>
     separate_interval_set
- (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
     { assign(src); }
 
     /// Constructor for a single element
@@ -151,14 +151,14 @@
     /// Assignment operator
     template<class SubType>
     separate_interval_set& operator =
- (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
     { assign(src); return *this; }
 
     /// Assignment from a base interval_set.
     template<class SubType>
- void assign(const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
     {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> base_set_type;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> base_set_type;
         this->clear();
         // Can be implemented via _set.insert: Interval joining not necessary.
         const_FORALL(typename base_set_type, it, src)
@@ -167,8 +167,8 @@
 
 private:
         friend class
- interval_base_set<separate_interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc>;
+ interval_base_set<separate_interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc>;
 
     /// Does the set contain the interval <tt>x</tt>?
     bool contains_(const interval_type& x)const;
@@ -185,8 +185,8 @@
 } ;
 
 
-template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-bool separate_interval_set<DomainT,Interval,Compare,Alloc>::contains_(const interval_type& interv)const
+template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+bool separate_interval_set<DomainT,Compare,Interval,Alloc>::contains_(const interval_type& interv)const
 {
     if(interv.empty())
         return true;
@@ -197,8 +197,8 @@
 }
 
 
-template<class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-void separate_interval_set<DomainT,Interval,Compare,Alloc>::add_(const value_type& x)
+template<class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+void separate_interval_set<DomainT,Compare,Interval,Alloc>::add_(const value_type& x)
 {
     if(x.empty()) return;
 
@@ -230,8 +230,8 @@
 }
 
 
-template<class DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
-void separate_interval_set<DomainT,Interval,Compare,Alloc>::subtract_(const value_type& x)
+template<class DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+void separate_interval_set<DomainT,Compare,Interval,Alloc>::subtract_(const value_type& x)
 {
     if(x.empty()) return;
     typename ImplSetT::iterator fst_it = this->_set.lower_bound(x);

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 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -158,7 +158,7 @@
 
         typedef typename base_type::codomain_combine codomain_combine;
 
- typedef interval_set<DomainT,Interval,Compare,Alloc> interval_set_type;
+ typedef interval_set<DomainT,Compare,Interval,Alloc> interval_set_type;
         typedef interval_set_type set_type;
 
         /// Default constructor for the empty map

Modified: sandbox/itl/boost/itl/split_interval_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/split_interval_set.hpp (original)
+++ sandbox/itl/boost/itl/split_interval_set.hpp 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -88,20 +88,20 @@
     template
     <
         typename DomainT,
- template<class,ITL_COMPARE>class Interval = itl::interval,
         ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT),
+ template<class,ITL_COMPARE>class Interval = itl::interval,
         ITL_ALLOC Alloc = std::allocator
>
     class split_interval_set:
- public interval_base_set<split_interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc>
+ public interval_base_set<split_interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc>
     {
     public:
- typedef interval_base_set<itl::split_interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc> base_type;
+ typedef interval_base_set<itl::split_interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc> base_type;
 
- typedef split_interval_set<DomainT,Interval,Compare,Alloc> type;
- typedef interval_set<DomainT,Interval,Compare,Alloc> joint_type;
+ typedef split_interval_set<DomainT,Compare,Interval,Alloc> type;
+ typedef interval_set<DomainT,Compare,Interval,Alloc> joint_type;
 
         /// The domain type of the set
         typedef DomainT domain_type;
@@ -157,7 +157,7 @@
         /// Copy constructor for base_type
         template<class SubType>
         split_interval_set
- (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
         { assign(src); }
 
         /// Constructor for a single element
@@ -168,14 +168,14 @@
         /// Assignment operator
         template<class SubType>
         split_interval_set& operator =
- (const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
         { assign(src); return *this; }
 
         /// Assignment from a base interval_set.
         template<class SubType>
- void assign(const interval_base_set<SubType,DomainT,Interval,Compare,Alloc>& src)
+ void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
         {
- typedef interval_base_set<SubType,DomainT,Interval,Compare,Alloc> base_set_type;
+ typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> base_set_type;
             this->clear();
             // Can be implemented via _set.insert: Interval joining not necessary.
             const_FORALL(typename base_set_type, it, src)
@@ -184,8 +184,8 @@
         
         private:
                 friend class
- interval_base_set<split_interval_set<DomainT,Interval,Compare,Alloc>,
- DomainT,Interval,Compare,Alloc>;
+ interval_base_set<split_interval_set<DomainT,Compare,Interval,Alloc>,
+ DomainT,Compare,Interval,Alloc>;
 
         /// Does the set contain the interval <tt>x</tt>?
         bool contains_(const interval_type& x)const;
@@ -204,8 +204,8 @@
         void subtract_rest(const interval_type& x_itv, iterator& it, iterator& end_it);
     } ;
 
- template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
- bool split_interval_set<DomainT,Interval,Compare,Alloc>::contains_(const interval_type& interv)const
+ template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+ bool split_interval_set<DomainT,Compare,Interval,Alloc>::contains_(const interval_type& interv)const
     {
         if(interv.empty())
             return true;
@@ -216,8 +216,8 @@
     }
 
 
- template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
- void split_interval_set<DomainT,Interval,Compare,Alloc>::add_(const value_type& x)
+ template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+ void split_interval_set<DomainT,Compare,Interval,Alloc>::add_(const value_type& x)
     {
         if(x.empty()) return;
 
@@ -278,8 +278,8 @@
     }
 
 
- template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
- void split_interval_set<DomainT,Interval,Compare,Alloc>::insert_rest(const interval_type& x_itv, iterator& it, iterator& end_it)
+ template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+ void split_interval_set<DomainT,Compare,Interval,Alloc>::insert_rest(const interval_type& x_itv, iterator& it, iterator& end_it)
     {
         iterator nxt_it = it; nxt_it++;
 
@@ -319,8 +319,8 @@
     }
 
 
- template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
- void split_interval_set<DomainT,Interval,Compare,Alloc>::subtract_(const value_type& x)
+ template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+ void split_interval_set<DomainT,Compare,Interval,Alloc>::subtract_(const value_type& x)
     {
         if(x.empty()) return;
         if(this->_set.empty()) return;
@@ -370,8 +370,8 @@
 
 
 
- template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
- void split_interval_set<DomainT,Interval,Compare,Alloc>::subtract_rest(const interval_type& x_itv, iterator& snd_it, iterator& end_it)
+ template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+ void split_interval_set<DomainT,Compare,Interval,Alloc>::subtract_rest(const interval_type& x_itv, iterator& snd_it, iterator& end_it)
     {
         iterator it=snd_it, nxt_it=snd_it; nxt_it++;
 
@@ -405,9 +405,9 @@
         NOTE: This is not inline with the mathematical view.
         We have a distiction between 'element equality' and 'lexicographical
         equality'. */
- template <typename DomainT, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_ALLOC Alloc>
- inline bool operator == (const split_interval_set<DomainT,Interval,Compare,Alloc>& lhs,
- const split_interval_set<DomainT,Interval,Compare,Alloc>& rhs)
+ template <typename DomainT, ITL_COMPARE Compare, template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
+ inline bool operator == (const split_interval_set<DomainT,Compare,Interval,Alloc>& lhs,
+ const split_interval_set<DomainT,Compare,Interval,Alloc>& rhs)
     {
         //MEMO PORT: This implemetation worked with stlport, sgi and gnu
         // implementations of the stl. But using MSVC-implementation

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 2008-12-21 08:48:55 EST (Sun, 21 Dec 2008)
@@ -9,9 +9,10 @@
 #define __test_itl_interval_set_shared_h_JOFA_080920__
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_fundamentals_4_ordered_types()
@@ -141,9 +142,10 @@
 
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_ctor_4_bicremental_types()
@@ -192,9 +194,10 @@
 }
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_add_sub_4_bicremental_types()
@@ -234,9 +237,10 @@
 }
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_distinct_4_bicremental_types()
@@ -260,9 +264,10 @@
 }
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_distinct_4_bicremental_continuous_types()
@@ -301,9 +306,10 @@
 }
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_isolate_4_bicremental_continuous_types()
@@ -345,9 +351,10 @@
 }
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_contains_4_bicremental_types()
@@ -383,9 +390,10 @@
 }
 
 
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_operators_4_bicremental_types()
@@ -426,9 +434,10 @@
 
 
 // Test for nontrivial intersection of interval sets with intervals and values
-template <template<class T, template<class,ITL_COMPARE>class Interval = interval,
- ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, T),
- ITL_ALLOC Alloc = std::allocator
+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_base_intersect_4_bicremental_types()


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