|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r50011 - in sandbox/itl/boost: itl itl_xt
From: afojgo_at_[hidden]
Date: 2008-11-29 08:44:22
Author: jofaber
Date: 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
New Revision: 50011
URL: http://svn.boost.org/trac/boost/changeset/50011
Log:
Refactored: Adding macros for template parameters. Enabling template parameters changes via macro redefinition.
Stable {msvc-9.0}
Text files modified:
sandbox/itl/boost/itl/interval.hpp | 79 +++++++++++----------
sandbox/itl/boost/itl/interval_base_map.hpp | 83 +++++++++++-----------
sandbox/itl/boost/itl/interval_base_set.hpp | 34 ++++----
sandbox/itl/boost/itl/interval_map.hpp | 54 +++++++-------
sandbox/itl/boost/itl/interval_maps.hpp | 144 ++++++++++++++++++++--------------------
sandbox/itl/boost/itl/interval_set.hpp | 24 +++---
sandbox/itl/boost/itl/interval_sets.hpp | 128 +++++++++++++++++-----------------
sandbox/itl/boost/itl/map.hpp | 42 +++++-----
sandbox/itl/boost/itl/notate.hpp | 12 +++
sandbox/itl/boost/itl/separate_interval_set.hpp | 12 +-
sandbox/itl/boost/itl/set.hpp | 32 ++++----
sandbox/itl/boost/itl/split_interval_map.hpp | 40 +++++-----
sandbox/itl/boost/itl/split_interval_set.hpp | 20 ++--
sandbox/itl/boost/itl_xt/list.hpp | 32 ++++----
sandbox/itl/boost/itl_xt/string_set.hpp | 6
15 files changed, 378 insertions(+), 364 deletions(-)
Modified: sandbox/itl/boost/itl/interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval.hpp (original)
+++ sandbox/itl/boost/itl/interval.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -39,6 +39,7 @@
#include <boost/call_traits.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/if.hpp>
+#include <boost/itl/notate.hpp>
#include <boost/itl/type_traits/neutron.hpp>
#include <boost/itl/type_traits/unon.hpp>
#include <boost/itl/type_traits/is_continuous.hpp>
@@ -299,7 +300,7 @@
@author Joachim Faulhaber
*/
-template <class DataT, template<class>class Compare = std::less>
+template <class DataT, ITL_COMPARE Compare = std::less>
class interval
{
public:
@@ -618,7 +619,7 @@
} ;
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::bound_types interval<DataT,Compare>::succession_bounds()const
{
if(_boundtypes==RIGHT_OPEN) return RIGHT_OPEN;
@@ -652,7 +653,7 @@
{ return IntervalT::data_less(succ(x),y); } //{ return succ(x) < y ; }
};
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::empty()const
{
using namespace boost::mpl;
@@ -732,7 +733,7 @@
// NOTE structural similarities between empty and exclusive_less!
// emptieness can be defined as being exclusive less to oneself.
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::exclusive_less(const interval& x2)const
{
using namespace boost::mpl;
@@ -750,7 +751,7 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::lower_less(const interval& x2)const
{
using namespace boost::mpl;
@@ -768,7 +769,7 @@
::type::open_bound_less(_lwb, x2._lwb);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::upper_less(const interval& x2)const
{
using namespace boost::mpl;
@@ -787,7 +788,7 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::lower_less_equal(const interval& x2)const
{
using namespace boost::mpl;
@@ -806,7 +807,7 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::upper_less_equal(const interval& x2)const
{
using namespace boost::mpl;
@@ -827,7 +828,7 @@
//NOTE THINK: This implementation is rather interesting wrt. continuous value types.
// An alternative implementation was x.lwb_equal(y)={return x.lower_less_equal(y) && y.lower_less_equal(x)}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::lower_equal(const interval& x2)const
{
using namespace boost::mpl;
@@ -845,7 +846,7 @@
//NOTE THINK: This implementation is rather interesting wrt. continuous value types.
// An alternative implementation was x.lwb_equal(y)={return x.lower_less_equal(y) && y.lower_less_equal(x)}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::upper_equal(const interval& x2)const
{
using namespace boost::mpl;
@@ -863,7 +864,7 @@
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::BoundT interval<DataT,Compare>::lwb_min(const interval& x2)const
{
if( x2.lower_less(*this) )
@@ -872,7 +873,7 @@
return BoundT(_lwb, boundtypes());
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::BoundT interval<DataT,Compare>::upb_max(const interval& x2)const
{
if( upper_less(x2) )
@@ -883,7 +884,7 @@
// JODO THINK URG do borders reverse when lwb_max is used as upb etc. ?
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::BoundT interval<DataT,Compare>::lwb_max(const interval& x2)const
{
if( lower_less(x2) )
@@ -892,7 +893,7 @@
return BoundT(_lwb, boundtypes());
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::BoundT interval<DataT,Compare>::upb_min(const interval& x2)const
{
if( x2.upper_less(*this) )
@@ -902,13 +903,13 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::BoundT interval<DataT,Compare>::upb_leftOf(const interval& x2)const
{
return BoundT(x2._lwb, x2.succession_bounds());
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::BoundT interval<DataT,Compare>::lwb_rightOf(const interval& x2)const
{
return BoundT(x2._upb, x2.succession_bounds());
@@ -916,7 +917,7 @@
// NOTE non symmetric version: *this[upb].touches(x2[lwb])
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::touches(const interval& x2)const
{
using namespace boost::mpl;
@@ -932,7 +933,7 @@
::type::has_equal_border_touch(*this, x2);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::contains(const DataT& x)const
{
if(rightbound_closed() && leftbound_closed()) return data_less_equal(_lwb, x) && data_less_equal(x, _upb);
@@ -941,16 +942,16 @@
return data_less(_lwb, x) && data_less(x, _upb);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::contained_in(const interval& super)const
{ return super.lower_less_equal(*this) && upper_less_equal(super); }
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
bool interval<DataT,Compare>::contains(const interval& sub)const
{ return lower_less_equal(sub) && sub.upper_less_equal(*this); }
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
interval<DataT,Compare>& interval<DataT,Compare>::extend(const interval<DataT,Compare>& x2)
{
if(x2.empty()) return *this;
@@ -968,7 +969,7 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
inline interval<DataT,Compare>& interval<DataT,Compare>::left_subtract(const interval& x2)
{
set_lwb( BoundT(x2._upb, x2.succession_bounds()) );
@@ -976,7 +977,7 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
void interval<DataT,Compare>::intersect(interval<DataT,Compare>& isec, const interval<DataT,Compare>& x2)const
{
isec.set_lwb(lwb_max(x2));
@@ -984,7 +985,7 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
void interval<DataT,Compare>::left_surplus(interval<DataT,Compare>& lsur, const interval<DataT,Compare>& x2)const
{
if(lower_less(x2)) {
@@ -994,7 +995,7 @@
else lsur.clear();
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
void interval<DataT,Compare>::right_surplus(interval<DataT,Compare>& rsur, const interval<DataT,Compare>& x2)const
{
if(x2.upper_less(*this)) {
@@ -1005,7 +1006,7 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
const std::string interval<DataT,Compare>::as_string()const
{
std::string itvRep("");
@@ -1027,7 +1028,7 @@
// NOTE: they must be used in any function that is essential to all instances
// of DataT
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
DataT interval<DataT,Compare>::first()const
{
//JODO: BOOST_STATIC_ASSERT generates compiletime error even if
@@ -1037,14 +1038,14 @@
return leftbound_closed() ? _lwb : succ(_lwb);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
DataT interval<DataT,Compare>::last()const
{
BOOST_ASSERT(!itl::is_continuous<DataT>::value);
return rightbound_closed() ? _upb : pred(_upb);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::size_type interval<DataT,Compare>::cardinality()const
{
using namespace boost::mpl;
@@ -1056,7 +1057,7 @@
::type::cardinality(*this);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
typename interval<DataT,Compare>::difference_type interval<DataT,Compare>::length()const
{
using namespace boost::mpl;
@@ -1069,19 +1070,19 @@
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
interval<DataT,Compare> interval<DataT,Compare>::as_closed_interval()const
{
return interval(first(), last(), CLOSED);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
interval<DataT,Compare> interval<DataT,Compare>::as_rightopen_interval()const
{
return interval(first(), pred(last()), RIGHT_OPEN);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
void interval<DataT,Compare>::transform_bounds(bound_types bt)
{
switch(bt)
@@ -1093,7 +1094,7 @@
}
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
void interval<DataT,Compare>::close_left_bound()
{
if(leftbound_open())
@@ -1103,7 +1104,7 @@
}
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
void interval<DataT,Compare>::open_right_bound()
{
if(rightbound_closed())
@@ -1115,13 +1116,13 @@
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
inline bool operator == (const interval<DataT,Compare>& lhs, const interval<DataT,Compare>& rhs)
{
return lhs.equal(rhs);
}
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
inline bool operator < (const interval<DataT,Compare>& lhs, const interval<DataT,Compare>& rhs)
{
return lhs.less(rhs);
@@ -1156,7 +1157,7 @@
// ----------------------------------------------------------------------------
// operators
// ----------------------------------------------------------------------------
-template <class DataT, template<class>class Compare>
+template <class DataT, ITL_COMPARE Compare>
itl::interval<DataT,Compare>& operator *= ( itl::interval<DataT,Compare>& section,
const itl::interval<DataT,Compare>& sectant)
{
@@ -1164,7 +1165,7 @@
return section;
}
-template<class CharType, class CharTraits, class DataT, template<class>class Compare>
+template<class CharType, class CharTraits, class DataT, ITL_COMPARE Compare>
std::basic_ostream<CharType, CharTraits> &operator<<
(std::basic_ostream<CharType, CharTraits> &stream, interval<DataT,Compare> const& x)
{
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-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -135,10 +135,10 @@
typename DomainT,
typename CodomainT,
class Traits = itl::neutron_absorber,
- template<class, template<class>class>class Interval = itl::interval,
- template<class>class Compare = std::less,
- template<class>class Combine = itl::inplace_plus,
- template<class>class Alloc = std::allocator
+ template<class,ITL_COMPARE>class Interval = itl::interval,
+ ITL_COMPARE Compare = std::less,
+ ITL_COMBINE Combine = itl::inplace_plus,
+ ITL_ALLOC Alloc = std::allocator
>
#ifdef USE_CONCEPTS
//conceptgcc is still too buggy
@@ -424,7 +424,7 @@
SubType& add(const value_type& x)
{ access::add(*that(), x, mpl::apply<Combiner,CodomainT>::type()); return *that(); };
- template<template<class>class Combiner>
+ template<ITL_COMBINE Combiner>
SubType& add(const value_type& x)
{ access::add(*that(), x, Combiner<CodomainT>()); return *that(); };
@@ -458,7 +458,7 @@
<tt>m0=m; m.add(x); m.subtract(x);</tt> implies <tt>m==m0 </tt>
*/
SubType& add(const value_type& x)
- { access::add(*that(), x, inplace_plus<CodomainT>()); return *that(); }
+ { access::add(*that(), x, Combine<CodomainT>()); return *that(); }
//@}
@@ -696,8 +696,9 @@
<
template
<
- class DomT, template<class DomT,template<class>class Comp>class Interv,
- template<class>class Comp, template<class>class Allc
+ class DomT,
+ template<class DomT, ITL_COMPARE Comp>class Interv,
+ ITL_COMPARE Comp, ITL_ALLOC Allc
>
class IntervalSet
>
@@ -725,8 +726,8 @@
template
<
class DomT, class CodomT,
- class Trts, template<class DomT,template<class>class Comp>class Interv,
- template<class>class Comp, template<class>class Combi, template<class>class Allc
+ class Trts, template<class DomT,ITL_COMPARE Comp>class Interv,
+ ITL_COMPARE Comp, ITL_COMBINE Combi, ITL_ALLOC Allc
>
class IntervalMap
>
@@ -785,8 +786,8 @@
<
template
<
- class DomT, template<class DomT,template<class>class Comp>class Interv,
- template<class>class Comp, template<class>class Allc
+ class DomT, template<class DomT,ITL_COMPARE Comp>class Interv,
+ ITL_COMPARE Comp, ITL_ALLOC Allc
>
class IntervalSet
>
@@ -927,8 +928,8 @@
template
<
class SubType, class DomainT, class CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare,
- template<class>class Combine, template<class>class Alloc
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare,
+ ITL_COMBINE Combine, ITL_ALLOC Alloc
>
typename interval_base_map<SubType,DomainT,CodomainT,Traits,
Interval,Compare,Combine,Alloc>::size_type
@@ -947,8 +948,8 @@
template
<
class SubType, class DomainT, class CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare,
- template<class>class Combine, template<class>class Alloc
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare,
+ ITL_COMBINE Combine, ITL_ALLOC Alloc
>
typename interval_base_map<SubType,DomainT,CodomainT,Traits,
Interval,Compare,Combine,Alloc>::difference_type
@@ -967,7 +968,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
bool interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::contained_in(const interval_base_map& super)const
{
@@ -983,16 +984,16 @@
<
class SubType,
class DomainT, class CodomainT,
- class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
template
<
template
<
class DomT, class CodomT,
- class Trts, template<class DomT,template<class>class Comp>class Interv,
- template<class>class Comp, template<class>class Combi, template<class>class Allc
+ class Trts, template<class DomT,ITL_COMPARE Comp>class Interv,
+ ITL_COMPARE Comp, ITL_COMBINE Combi, ITL_ALLOC Allc
>
class IntervalMap
>
@@ -1019,7 +1020,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
void interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_intersection(interval_base_map& section,
@@ -1045,7 +1046,7 @@
inplace_star<CodomainT>());
else
section.that()->add(value_type(common_interval, sectant.CONT_VALUE),
- inplace_plus<CodomainT>());
+ Combine<CodomainT>());
}
}
}
@@ -1054,7 +1055,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
void interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_intersection(interval_base_map& section,
@@ -1081,7 +1082,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::join()
@@ -1130,7 +1131,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
std::string interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::as_string()const
{
@@ -1150,7 +1151,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
CodomainT interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::sum()const
{
@@ -1164,7 +1165,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
void interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::uniformBounds( typename interval<DomainT>::bound_types bt)
{
@@ -1176,7 +1177,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
void interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::closeLeftBounds()
{
@@ -1190,7 +1191,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
SubType& interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::erase(const interval_type& x_itv)
@@ -1228,7 +1229,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
SubType&
interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
@@ -1252,7 +1253,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
inline bool operator == (const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& lhs,
const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& rhs)
@@ -1268,7 +1269,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
inline bool is_protonic_equal(const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& lhs,
const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& rhs)
@@ -1289,7 +1290,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
inline bool operator < (const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& lhs,
const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& rhs)
@@ -1303,7 +1304,7 @@
template
<
class SubType,
- class DomainT, class CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class DomainT, class CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
inline bool operator <= (const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& lhs,
const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& rhs)
@@ -1318,8 +1319,8 @@
<
class SubType,
class DomainT, class CodomainT,
- class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
interval_base_map<SubType,DomainT,CodomainT,
Traits,Interval,Compare,Alloc>&
@@ -1343,8 +1344,8 @@
<
class SubType,
class DomainT, class CodomainT,
- class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
interval_base_map<SubType,DomainT,CodomainT,
Traits,Interval,Compare,Alloc>&
@@ -1368,8 +1369,8 @@
template<class CharType, class CharTraits,
class SubType, class DomainT, class CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare,
- template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare,
+ ITL_COMBINE Combine, ITL_ALLOC Alloc>
std::basic_ostream<CharType, CharTraits>& operator <<
(std::basic_ostream<CharType, CharTraits>& stream,
const interval_base_map<SubType,DomainT,CodomainT,Traits,
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-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -102,9 +102,9 @@
<
typename SubType,
typename DomainT,
- template<class, template<class>class>class Interval = itl::interval,
- template<class>class Compare = std::less,
- template<class>class Alloc = std::allocator
+ template<class, ITL_COMPARE>class Interval = itl::interval,
+ ITL_COMPARE Compare = std::less,
+ ITL_ALLOC Alloc = std::allocator
>
#ifdef USE_CONCEPTS
requires {std::LessThanComparable<DomainT>}
@@ -464,8 +464,8 @@
template
<
- class SubType, class DomainT, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc
>
typename interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::size_type
interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::cardinality()const
@@ -495,8 +495,8 @@
template
<
- class SubType, class DomainT, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc
>
typename
interval_base_set<SubType,DomainT,Interval,Compare,Alloc>::difference_type
@@ -511,8 +511,8 @@
template
<
- class SubType, class DomainT, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc
>
bool interval_base_set<SubType,DomainT,Interval,Compare,Alloc>
::contained_in(const interval_base_set& x2)const
@@ -538,7 +538,7 @@
template<class SubType,
- class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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
{
// any intersection with the empty intervall is empty
@@ -558,7 +558,7 @@
template<class SubType,
- class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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()
{
iterator it=_set.begin();
@@ -601,7 +601,7 @@
template<class SubType,
- class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
// I can do this only, because I am shure that the contents and the
@@ -611,7 +611,7 @@
template<class SubType,
- class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
@@ -624,7 +624,7 @@
}
template<class SubType,
- class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
@@ -633,7 +633,7 @@
}
template<class SubType,
- class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
@@ -642,8 +642,8 @@
template<class CharType, class CharTraits,
- class SubType, class DomainT, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc>
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, 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)
Modified: sandbox/itl/boost/itl/interval_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_map.hpp (original)
+++ sandbox/itl/boost/itl/interval_map.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -107,10 +107,10 @@
typename DomainT,
typename CodomainT,
class Traits = itl::neutron_absorber,
- template<class, template<class>class>class Interval = itl::interval,
- template<class>class Compare = std::less,
- template<class>class Combine = itl::inplace_plus,
- template<class>class Alloc = std::allocator
+ template<class,ITL_COMPARE>class Interval = itl::interval,
+ ITL_COMPARE Compare = std::less,
+ ITL_COMPARE Combine = itl::inplace_plus,
+ ITL_ALLOC Alloc = std::allocator
>
class interval_map:
public interval_base_map<interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>,
@@ -182,7 +182,7 @@
void add_(const value_type&, const Combiner&);
void add_(const value_type& value)
- { add_(value, inplace_plus<CodomainT>()); }
+ { add_(value, Combine<CodomainT>()); }
template<class Combiner>
void subtract_(const value_type&, const Combiner&);
@@ -240,7 +240,7 @@
} ;
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
bool interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::contains_(const value_type& interv_value)const
{
@@ -255,7 +255,7 @@
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
bool interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::joinable(const iterator& some, const iterator& next)const
{
@@ -265,7 +265,7 @@
}
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
typename interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::iterator
interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::joint_insert(iterator& left_it, const iterator& right_it)
@@ -295,7 +295,7 @@
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
bool interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::join_left(iterator& it)
{
@@ -317,7 +317,7 @@
}
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
bool interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::join_right(iterator& it)
{
@@ -339,7 +339,7 @@
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
typename interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::iterator
interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::fill_join_left(const value_type& value)
@@ -358,7 +358,7 @@
}
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
typename interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::iterator
interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::fill_join_both(const value_type& value)
@@ -378,7 +378,7 @@
//-----------------------------------------------------------------------------
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
template<class Combiner>
typename interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::iterator
interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
@@ -406,7 +406,7 @@
}
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
template<class Combiner>
typename interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::iterator
interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
@@ -437,7 +437,7 @@
//-----------------------------------------------------------------------------
// add<Combinator>(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_(const value_type& x, const Combiner& combine)
@@ -536,7 +536,7 @@
}
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_rest(const interval_type& x_itv, const CodomainT& x_val, iterator& it, iterator& end_it, const Combiner& combine)
@@ -569,7 +569,7 @@
add_rear(x_rest, x_val, it, combine);
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_rear(const interval_type& x_rest, const CodomainT& x_val, iterator& it, const Combiner& combine)
@@ -611,7 +611,7 @@
//-----------------------------------------------------------------------------
// subtract<Combinator>(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::subtract_(const value_type& x, const Combiner& combine)
@@ -680,7 +680,7 @@
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::subtract_rest(const interval_type& x_itv, const CodomainT& x_val, iterator& it, iterator& end_it, const Combiner& combine)
@@ -751,8 +751,8 @@
//-----------------------------------------------------------------------------
// insert(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::insert_(const value_type& x)
{
@@ -816,8 +816,8 @@
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::insert_rest(const interval_type& x_itv, const CodomainT& x_val,
iterator& it, iterator& end_it)
@@ -844,8 +844,8 @@
insert_rear(x_rest, x_val, it);
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::insert_rear(const interval_type& x_rest, const CodomainT& x_val,
iterator& it)
@@ -875,7 +875,7 @@
//-----------------------------------------------------------------------------
// erase(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::erase_(const value_type& x)
{
@@ -934,7 +934,7 @@
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMPARE Combine, ITL_ALLOC Alloc>
void interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::erase_rest(const interval_type& x_itv, const CodomainT& x_val,
iterator& it, iterator& end_it)
Modified: sandbox/itl/boost/itl/interval_maps.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_maps.hpp (original)
+++ sandbox/itl/boost/itl/interval_maps.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -16,8 +16,8 @@
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class interval_map;
@@ -28,12 +28,12 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -58,12 +58,12 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -98,12 +98,12 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -127,12 +127,12 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -169,12 +169,12 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -195,12 +195,12 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -224,12 +224,12 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -252,12 +252,12 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -281,8 +281,8 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
class OperandT
>
interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>&
@@ -304,8 +304,8 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
class OperandT
>
interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>&
@@ -327,8 +327,8 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
class SectanT
>
interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>&
@@ -353,18 +353,18 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class LeftIntervalMap,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class RightIntervalMap
>
@@ -388,12 +388,12 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -437,12 +437,12 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -483,18 +483,18 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -534,18 +534,18 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -566,12 +566,12 @@
template
<
class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_COMBINE, ITL_ALLOC
>
class IntervalMap
>
@@ -589,8 +589,8 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc
>
typename interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>::interval_type
enclosure(const interval_base_map<SubType,DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>& object)
Modified: sandbox/itl/boost/itl/interval_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_set.hpp (original)
+++ sandbox/itl/boost/itl/interval_set.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -102,11 +102,11 @@
template
<
- typename DomainT,
- template<class, template<class>class>class
- Interval = itl::interval,
- template<class>class Compare = std::less,
- template<class>class Alloc = std::allocator
+ typename DomainT,
+ template<class,ITL_COMPARE>class
+ Interval = itl::interval,
+ ITL_COMPARE Compare = std::less,
+ ITL_ALLOC Alloc = std::allocator
>
class interval_set:
public interval_base_set<interval_set<DomainT,Interval,Compare,Alloc>,
@@ -223,7 +223,7 @@
-template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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
{
// Emptiness is contained in everything
@@ -245,7 +245,7 @@
}
-template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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)
{
if(it == this->_set.begin())
@@ -286,7 +286,7 @@
-template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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>
::joint_insert(const iterator& left_it, const iterator& right_it)
@@ -307,7 +307,7 @@
}
-template<class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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)
{
if(x.empty()) return;
@@ -340,7 +340,7 @@
}
-template<class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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)
{
if(x.empty()) return;
@@ -366,8 +366,8 @@
//-----------------------------------------------------------------------------
// equality of elements
//-----------------------------------------------------------------------------
-template <typename DomainT, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc>
+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)
{
Modified: sandbox/itl/boost/itl/interval_sets.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_sets.hpp (original)
+++ sandbox/itl/boost/itl/interval_sets.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -14,8 +14,8 @@
namespace boost{namespace itl
{
-template<typename, template<class,template<class>class>class,
- template<class>class, template<class>class>
+template<typename, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC>
class interval_set;
//-----------------------------------------------------------------------------
@@ -23,12 +23,12 @@
//-----------------------------------------------------------------------------
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -49,12 +49,12 @@
//--- interval_type -----------------------------------------------------------
template
<
- class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -71,12 +71,12 @@
//--- domain_type -------------------------------------------------------------
template
<
- class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -96,12 +96,12 @@
//-----------------------------------------------------------------------------
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -122,12 +122,12 @@
//--- interval_type -----------------------------------------------------------
template
<
- class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -144,12 +144,12 @@
//--- domain_type -------------------------------------------------------------
template
<
- class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -169,12 +169,12 @@
//-----------------------------------------------------------------------------
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -216,12 +216,12 @@
//--- interval_type -----------------------------------------------------------
template
<
- class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -249,12 +249,12 @@
//--- domain_type -------------------------------------------------------------
template
<
- class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -275,12 +275,12 @@
//-----------------------------------------------------------------------------
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -300,12 +300,12 @@
//-----------------------------------------------------------------------------
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -342,12 +342,12 @@
template
<
class SubType, class DomainT, class CodomainT,
- class Traits, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, class, class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, class, class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalMap
>
@@ -391,12 +391,12 @@
//-----------------------------------------------------------------------------
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -415,12 +415,12 @@
//-----------------------------------------------------------------------------
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -440,12 +440,12 @@
//-----------------------------------------------------------------------------
template
<
- class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc,
+ class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_ALLOC Alloc,
template
<
- class, template<class,template<class>class>class,
- template<class>class, template<class>class
+ class, template<class,ITL_COMPARE>class,
+ ITL_COMPARE, ITL_ALLOC
>
class IntervalSet
>
@@ -461,8 +461,8 @@
template
<
- class SubType, class DomainT, template<class,template<class>class>class Interval,
- template<class>class Compare, template<class>class Alloc
+ class SubType, class DomainT, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, 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)
Modified: sandbox/itl/boost/itl/map.hpp
==============================================================================
--- sandbox/itl/boost/itl/map.hpp (original)
+++ sandbox/itl/boost/itl/map.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -103,9 +103,9 @@
typename KeyT,
typename DataT,
class Traits = itl::neutron_absorber,
- template<class>class Compare = std::less,
- template<class>class Combine = itl::inplace_plus,
- template<class>class Alloc = std::allocator
+ ITL_COMPARE Compare = std::less,
+ ITL_COMBINE Combine = itl::inplace_plus,
+ ITL_ALLOC Alloc = std::allocator
>
class map: private std::map<KeyT, DataT, Compare<KeyT>,
Alloc<std::pair<const KeyT, DataT> > >
@@ -217,9 +217,9 @@
not exist in the map.
If \c value_pairs's key value exists in the map, it's data
value is added to the data value already found in the map. */
- iterator add(const value_type& value_pair) { return add<inplace_plus>(value_pair); }
+ iterator add(const value_type& value_pair) { return add<Combine>(value_pair); }
- template<template<class>class Combinator>
+ template<ITL_COMBINE Combiner>
iterator add(const value_type& value_pair);
iterator operator += (const value_type& value_pair) { return add(value_pair); }
@@ -315,7 +315,7 @@
/** Standard equality, which is lexicographical equality of the sets
as sequences, that are given by their Compare order. */
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
inline bool operator == (const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& lhs,
const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& rhs)
{
@@ -324,7 +324,7 @@
}
//JODO comment...
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
inline bool is_element_equal(const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& lhs,
const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& rhs)
{
@@ -333,7 +333,7 @@
}
/** Protonic equality is equality on all elements that do not carry a neutron as content. */
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
inline bool is_protonic_equal (const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& lhs,
const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& rhs)
{
@@ -348,7 +348,7 @@
}
/** Strict weak less ordering which is given by the Compare order */
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
inline bool operator < (const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& lhs,
const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& rhs)
{
@@ -357,7 +357,7 @@
}
/** Partial ordering which is induced by Compare */
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
inline bool operator <= (const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& lhs,
const itl::map<KeyT,DataT,Traits,Compare,Combine,Alloc>& rhs)
{
@@ -365,8 +365,8 @@
return operator<=((const base_type&)lhs, (const base_type&)rhs);
}
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
- template <template<class>class Combinator>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
+ template <ITL_COMBINE Combiner>
typename map<KeyT,DataT,Traits,Compare,Combine,Alloc>::iterator
map<KeyT,DataT,Traits,Compare,Combine,Alloc>::add(const value_type& val)
{
@@ -377,7 +377,7 @@
if(Traits::emits_neutrons)
{
DataT added_val = DataT();
- Combinator<DataT>()(added_val, val.CONT_VALUE);
+ Combiner<DataT>()(added_val, val.CONT_VALUE);
insertion = insert(value_type(val.KEY_VALUE, added_val));
}
else // Existential case
@@ -388,7 +388,7 @@
else
{
iterator it = insertion.ITERATOR;
- Combinator<DataT>()((*it).CONT_VALUE, val.CONT_VALUE);
+ Combiner<DataT>()((*it).CONT_VALUE, val.CONT_VALUE);
if(Traits::absorbs_neutrons && (*it).CONT_VALUE == DataT())
{
@@ -400,7 +400,7 @@
}
}
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
typename map<KeyT,DataT,Traits,Compare,Combine,Alloc>::size_type
map<KeyT,DataT,Traits,Compare,Combine,Alloc>
::erase(const value_type& value_pair)
@@ -420,7 +420,7 @@
}
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
typename map<KeyT,DataT,Traits,Compare,Combine,Alloc>::iterator
map<KeyT,DataT,Traits,Compare,Combine,Alloc>::subtract(const value_type& val)
{
@@ -446,7 +446,7 @@
}
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
std::string map<KeyT,DataT,Traits,Compare,Combine,Alloc>::as_string()const
{
std::string repr;
@@ -462,7 +462,7 @@
return repr;
}
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Predicate>
map<KeyT,DataT,Traits,Compare,Combine,Alloc>& map<KeyT,DataT,Traits,Compare,Combine,Alloc>
::erase_if(const Predicate& pred)
@@ -476,7 +476,7 @@
}
- template <typename KeyT, typename DataT, class Traits, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename KeyT, typename DataT, class Traits, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Predicate>
map<KeyT,DataT,Traits,Compare,Combine,Alloc>& map<KeyT,DataT,Traits,Compare,Combine,Alloc>
::assign_if(const map<KeyT,DataT,Traits,Compare,Combine,Alloc>& src, const Predicate& pred)
@@ -491,7 +491,7 @@
}
//-------------------------------------------------------------------------
template <typename KeyT, typename DataT, class Traits,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
map<KeyT,DataT,Traits,Compare,Combine,Alloc>&
insert(map<KeyT,DataT,Traits,Compare,Combine,Alloc>& object,
const map<KeyT,DataT,Traits,Compare,Combine,Alloc>& insertee)
@@ -505,7 +505,7 @@
}
template <typename KeyT, typename DataT, class Traits,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
map<KeyT,DataT,Traits,Compare,Combine,Alloc>&
erase(map<KeyT,DataT,Traits,Compare,Combine,Alloc>& object,
const map<KeyT,DataT,Traits,Compare,Combine,Alloc>& erasee)
Modified: sandbox/itl/boost/itl/notate.hpp
==============================================================================
--- sandbox/itl/boost/itl/notate.hpp (original)
+++ sandbox/itl/boost/itl/notate.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -68,6 +68,18 @@
const int UNDEFINED_INDEX = -1;
}} // namespace itl boost
+//------------------------------------------------------------------------------
+// Auxiliary macros for denoting template signatures.
+// Purpose:
+// (1) Shorten the lenthy and redundant template signatures.
+// (2) Name anonymous template types according to theirs meaning ...
+// (3) Making easier to refactor by redefinitin of the macros
+// (4) Being able to check template template parameter variants against
+// template type parameter variants.
+
+#define ITL_COMPARE template<class>class
+#define ITL_COMBINE template<class>class
+#define ITL_ALLOC template<class>class
#endif // __itl_NOTATE_H_JOFA_990119__
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-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -67,9 +67,9 @@
template
<
typename DomainT,
- template<class, template<class>class>class Interval = itl::interval,
- template<class>class Compare = std::less,
- template<class>class Alloc = std::allocator
+ template<class,ITL_COMPARE>class Interval = itl::interval,
+ ITL_COMPARE Compare = std::less,
+ ITL_ALLOC Alloc = std::allocator
>
class separate_interval_set:
public interval_base_set<separate_interval_set<DomainT,Interval,Compare,Alloc>,
@@ -181,7 +181,7 @@
} ;
-template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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
{
if(interv.empty())
@@ -193,7 +193,7 @@
}
-template<class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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)
{
if(x.empty()) return;
@@ -226,7 +226,7 @@
}
-template<class DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+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)
{
if(x.empty()) return;
Modified: sandbox/itl/boost/itl/set.hpp
==============================================================================
--- sandbox/itl/boost/itl/set.hpp (original)
+++ sandbox/itl/boost/itl/set.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -69,8 +69,8 @@
template
<
typename KeyT,
- template<class>class Compare = std::less,
- template<class>class Alloc = std::allocator
+ ITL_COMPARE Compare = std::less,
+ ITL_ALLOC Alloc = std::allocator
>
class set: private std::set<KeyT, Compare<KeyT>, Alloc<KeyT> >
{
@@ -213,7 +213,7 @@
/** Standard equality, which is lexicographical equality of the sets
as sequences, that are given by their Compare order. */
- template <typename KeyT, template<class>class Compare, template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
inline bool operator == (const itl::set<KeyT,Compare,Alloc>& lhs,
const itl::set<KeyT,Compare,Alloc>& rhs)
{
@@ -223,8 +223,8 @@
/** Element equality. Two sets are equal if they contain the same
elements */
- template <typename KeyT, template<class>class Compare,
- template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare,
+ ITL_ALLOC Alloc>
inline bool is_element_equal(const itl::set<KeyT,Compare,Alloc>& lhs,
const itl::set<KeyT,Compare,Alloc>& rhs)
{
@@ -233,8 +233,8 @@
}
/** Strict weak less ordering which is given by the Compare order */
- template <typename KeyT, template<class>class Compare,
- template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare,
+ ITL_ALLOC Alloc>
inline bool operator < (const itl::set<KeyT,Compare,Alloc>& lhs,
const itl::set<KeyT,Compare,Alloc>& rhs)
{
@@ -243,8 +243,8 @@
}
/** Partial ordering which is induced by Compare */
- template <typename KeyT, template<class>class Compare,
- template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare,
+ ITL_ALLOC Alloc>
inline bool operator <= (const itl::set<KeyT,Compare,Alloc>& lhs,
const itl::set<KeyT,Compare,Alloc>& rhs)
{
@@ -253,8 +253,8 @@
}
- template <typename KeyT, template<class>class Compare,
- template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare,
+ ITL_ALLOC Alloc>
typename set<KeyT,Compare,Alloc>::iterator
set<KeyT,Compare,Alloc>::subtract(const value_type& val)
{
@@ -266,7 +266,7 @@
}
- template <typename KeyT, template<class>class Compare, template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
std::string set<KeyT,Compare,Alloc>::as_string(const char* sep)const
{
const_iterator it_ = begin();
@@ -281,7 +281,7 @@
}
- template <typename KeyT, template<class>class Compare, template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
template <class Predicate>
set<KeyT,Compare,Alloc>& set<KeyT,Compare,Alloc>
::erase_if(const Predicate& pred)
@@ -295,7 +295,7 @@
}
- template <typename KeyT, template<class>class Compare, template<class>class Alloc>
+ template <typename KeyT, ITL_COMPARE Compare, ITL_ALLOC Alloc>
template <class Predicate>
set<KeyT,Compare,Alloc>& set<KeyT,Compare,Alloc>
::assign_if(const set<KeyT,Compare,Alloc>& src, const Predicate& pred)
@@ -311,7 +311,7 @@
//-------------------------------------------------------------------------
template <typename KeyT,
- template<class>class Compare, template<class>class Alloc>
+ ITL_COMPARE Compare, ITL_ALLOC Alloc>
set<KeyT,Compare,Alloc>&
insert( set<KeyT,Compare,Alloc>& object,
const set<KeyT,Compare,Alloc>& insertee)
@@ -320,7 +320,7 @@
}
template <typename KeyT,
- template<class>class Compare, template<class>class Alloc>
+ ITL_COMPARE Compare, ITL_ALLOC Alloc>
set<KeyT,Compare,Alloc>&
erase( set<KeyT,Compare,Alloc>& object,
const set<KeyT,Compare,Alloc>& erasee)
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-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -129,10 +129,10 @@
typename DomainT,
typename CodomainT,
class Traits = itl::neutron_absorber,
- template<class, template<class>class>class Interval = itl::interval,
- template<class>class Compare = std::less,
- template<class>class Combine = itl::inplace_plus,
- template<class>class Alloc = std::allocator
+ template<class,ITL_COMPARE>class Interval = itl::interval,
+ ITL_COMPARE Compare = std::less,
+ ITL_COMBINE Combine = itl::inplace_plus,
+ ITL_ALLOC Alloc = std::allocator
>
class split_interval_map:
public interval_base_map<split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>,
@@ -241,7 +241,7 @@
} ;
- template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
bool split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::contains_(const value_type& interv_value)const
{
@@ -258,7 +258,7 @@
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::fill(const value_type& value)
{
@@ -271,7 +271,7 @@
}
template <typename DomainT, typename CodomainT, class Traits,
- template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+ template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::fill_gap(const value_type& value, const Combiner& combine)
@@ -295,7 +295,7 @@
//-----------------------------------------------------------------------------
// add<Combinator>(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_(const value_type& x, const Combiner& combine)
@@ -379,7 +379,7 @@
}
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_rest(const interval_type& x_itv, const CodomainT& x_val,
@@ -409,7 +409,7 @@
add_rear(x_rest, x_val, it, combine);
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::add_rear(const interval_type& x_rest, const CodomainT& x_val, iterator& it,
@@ -445,7 +445,7 @@
//-----------------------------------------------------------------------------
// subtract<Combinator>(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::subtract_(const value_type& x, const Combiner& combine)
@@ -504,7 +504,7 @@
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
template<class Combiner>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::subtract_rest(const interval_type& x_itv, const CodomainT& x_val,
@@ -557,8 +557,8 @@
//-----------------------------------------------------------------------------
// insert(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::insert_(const value_type& x)
{
@@ -614,8 +614,8 @@
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::insert_rest(const interval_type& x_itv, const CodomainT& x_val,
iterator& it, iterator& end_it)
@@ -635,8 +635,8 @@
insert_rear(x_rest, x_val, it);
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval,
- template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval,
+ ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::insert_rear(const interval_type& x_rest, const CodomainT& x_val,
iterator& it)
@@ -659,7 +659,7 @@
//-----------------------------------------------------------------------------
// erase(pair(interval,value)):
//-----------------------------------------------------------------------------
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::erase_(const value_type& x)
{
@@ -718,7 +718,7 @@
}
-template <typename DomainT, typename CodomainT, class Traits, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Combine, template<class>class Alloc>
+template <typename DomainT, typename CodomainT, class Traits, template<class,ITL_COMPARE>class Interval, ITL_COMPARE Compare, ITL_COMBINE Combine, ITL_ALLOC Alloc>
void split_interval_map<DomainT,CodomainT,Traits,Interval,Compare,Combine,Alloc>
::erase_rest(const interval_type& x_itv, const CodomainT& x_val,
iterator& it, iterator& end_it)
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-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -88,9 +88,9 @@
template
<
typename DomainT,
- template<class, template<class>class>class Interval = itl::interval,
- template<class>class Compare = std::less,
- template<class>class Alloc = std::allocator
+ template<class,ITL_COMPARE>class Interval = itl::interval,
+ ITL_COMPARE Compare = std::less,
+ ITL_ALLOC Alloc = std::allocator
>
class split_interval_set:
public interval_base_set<split_interval_set<DomainT,Interval,Compare,Alloc>,
@@ -200,7 +200,7 @@
void subtract_rest(const interval_type& x_itv, iterator& it, iterator& end_it);
} ;
- template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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
{
if(interv.empty())
@@ -212,7 +212,7 @@
}
- template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
if(x.empty()) return;
@@ -274,7 +274,7 @@
}
- template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
iterator nxt_it = it; nxt_it++;
@@ -315,7 +315,7 @@
}
- template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
if(x.empty()) return;
@@ -366,7 +366,7 @@
- template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
iterator it=snd_it, nxt_it=snd_it; nxt_it++;
@@ -401,7 +401,7 @@
NOTE: This is not inline with the mathematical view.
We have a distiction between 'element equality' and 'lexicographical
equality'. */
- template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
@@ -414,7 +414,7 @@
}
- template <typename DomainT, template<class, template<class>class>class Interval, template<class>class Compare, template<class>class Alloc>
+ 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)
{
Modified: sandbox/itl/boost/itl_xt/list.hpp
==============================================================================
--- sandbox/itl/boost/itl_xt/list.hpp (original)
+++ sandbox/itl/boost/itl_xt/list.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -52,7 +52,7 @@
@author Joachim Faulhaber
*/
- template <typename DataT, template<class>class Alloc = std::allocator>
+ template <typename DataT, ITL_ALLOC Alloc = std::allocator>
class list: private std::list<DataT, Alloc<DataT> >
{
public:
@@ -210,7 +210,7 @@
};
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
inline bool operator == (const itl::list<DataT,Alloc>& lhs,
const itl::list<DataT,Alloc>& rhs)
{
@@ -218,7 +218,7 @@
return operator==((const base_type&)lhs, (const base_type&)rhs);
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
inline bool operator < (const itl::list<DataT,Alloc>& lhs,
const itl::list<DataT,Alloc>& rhs)
{
@@ -226,7 +226,7 @@
return operator<((const base_type&)lhs, (const base_type&)rhs);
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
inline bool operator <= (const itl::list<DataT,Alloc>& lhs,
const itl::list<DataT,Alloc>& rhs)
{
@@ -234,7 +234,7 @@
return operator<=((const base_type&)lhs, (const base_type&)rhs);
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
bool list<DataT,Alloc>::is_unique()const
{
//JODO implement via std-algorithm of directly
@@ -243,7 +243,7 @@
return (*this) == self;
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
bool list<DataT,Alloc>::is_supersequence(const list& subSeq)const
{
list sub = subSeq;
@@ -251,7 +251,7 @@
return is_supersequence(sub, pos);
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
bool list<DataT,Alloc>::is_supersequence(list& subtee, const_iterator& pos)const
{
if(subtee.empty())
@@ -271,7 +271,7 @@
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
bool list<DataT,Alloc>::is_consequent(const list& conSeq)const
{
list seq = conSeq;
@@ -280,7 +280,7 @@
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
bool list<DataT,Alloc>::is_consequent(list& seq, const_iterator& pos)const
{
if(seq.empty())
@@ -300,7 +300,7 @@
}
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
void list<DataT,Alloc>::consequent_permutation(list& perm, list& seq)
{
perm.clear();
@@ -309,7 +309,7 @@
consequent_permutation(perm, this_, seq, seq_);
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
void list<DataT,Alloc>::consequent_permutation(list& perm, iterator& this_, list& seq, iterator& seq_)
{
if(seq_ == seq.end())
@@ -351,7 +351,7 @@
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
typename list<DataT,Alloc>::iterator list<DataT,Alloc>::first_common_element
(iterator& beg1_, iterator& end1_, iterator& beg2_, iterator& end2_)const
{
@@ -365,7 +365,7 @@
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
void list<DataT,Alloc>::interlace(const list& inList)
{
BOOST_ASSERT(is_unique());
@@ -375,7 +375,7 @@
interlace(seq, inPos);
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
void list<DataT,Alloc>::interlace(list& seq, iterator& inPos)
{
if(seq.empty())
@@ -405,7 +405,7 @@
// THINK: here codereplication occurs at the next level of abstraction (cf. SetT)
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
bool list<DataT,Alloc>::any(const property<DataT>& pred)const
{
const_iterator it = begin();
@@ -414,7 +414,7 @@
}
- template <typename DataT, template<class>class Alloc>
+ template <typename DataT, ITL_ALLOC Alloc>
std::string list<DataT,Alloc>::as_string(const char* sep /* =" " */)const
{
const_iterator it=begin();
Modified: sandbox/itl/boost/itl_xt/string_set.hpp
==============================================================================
--- sandbox/itl/boost/itl_xt/string_set.hpp (original)
+++ sandbox/itl/boost/itl_xt/string_set.hpp 2008-11-29 08:44:20 EST (Sat, 29 Nov 2008)
@@ -57,7 +57,7 @@
// sets of strings
// ---------------------------------------------------------------------------------
- template <template<class>class Compare = std::less>
+ template <ITL_COMPARE Compare = std::less>
class string_set: public itl::set<std::string, Compare>
{
public:
@@ -80,7 +80,7 @@
typedef string_set<String_ICLess> ICstring_setD;
- template <template<class>class Compare>
+ template <ITL_COMPARE Compare>
std::string string_set<Compare>::as_string(char* sep)const
{
const_iterator it = this->begin();
@@ -94,7 +94,7 @@
}
- template <template<class>class Compare>
+ template <ITL_COMPARE Compare>
void string_set<Compare>::selectSet(string_set& selectees, StringSelectorFPD selector)const
{
selectees.clear();
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