Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71356 - in sandbox/icl: boost/icl boost/icl/concept boost/icl/detail boost/icl/type_traits boost/icl_xt boost/validate/laws libs/icl/example/large_bitset_ libs/icl/test libs/validate/example/labat_val_relations_ libs/validate/test libs/validate/test/test_val_relations_
From: afojgo_at_[hidden]
Date: 2011-04-17 15:53:42


Author: jofaber
Date: 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
New Revision: 71356
URL: http://svn.boost.org/trac/boost/changeset/71356

Log:
Added macro BOOST_ICL_USE_COMPARE_STD_GREATER to change container and interval orderings for the library.
This can be used to change the compare-ordering for whole test-programs. (ticket #5482).
Text files modified:
   sandbox/icl/boost/icl/closed_interval.hpp | 2
   sandbox/icl/boost/icl/concept/interval.hpp | 7 +++
   sandbox/icl/boost/icl/continuous_interval.hpp | 2
   sandbox/icl/boost/icl/detail/design_config.hpp | 10 +++
   sandbox/icl/boost/icl/detail/std_set.hpp | 7 +++
   sandbox/icl/boost/icl/discrete_interval.hpp | 2
   sandbox/icl/boost/icl/interval.hpp | 2
   sandbox/icl/boost/icl/interval_base_map.hpp | 2
   sandbox/icl/boost/icl/interval_base_set.hpp | 3
   sandbox/icl/boost/icl/interval_map.hpp | 2
   sandbox/icl/boost/icl/interval_set.hpp | 2
   sandbox/icl/boost/icl/left_open_interval.hpp | 2
   sandbox/icl/boost/icl/map.hpp | 2
   sandbox/icl/boost/icl/open_interval.hpp | 2
   sandbox/icl/boost/icl/right_open_interval.hpp | 2
   sandbox/icl/boost/icl/separate_interval_set.hpp | 2
   sandbox/icl/boost/icl/split_interval_map.hpp | 2
   sandbox/icl/boost/icl/split_interval_set.hpp | 2
   sandbox/icl/boost/icl/type_traits/interval_type_default.hpp | 2
   sandbox/icl/boost/icl_xt/interval_bitset.hpp | 2
   sandbox/icl/boost/icl_xt/set.hpp | 2
   sandbox/icl/boost/validate/laws/law.hpp | 3 +
   sandbox/icl/libs/icl/example/large_bitset_/large_bitset.hpp | 2
   sandbox/icl/libs/icl/test/portability.hpp | 14 +++---
   sandbox/icl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj | 26 +++++-----
   sandbox/icl/libs/validate/test/Jamfile.v2 | 88 +++++++++++++++++++++++++++++++++++++++
   sandbox/icl/libs/validate/test/test_val_relations_/vc9_test_val_relations.vcproj | 2
   27 files changed, 151 insertions(+), 45 deletions(-)

Modified: sandbox/icl/boost/icl/closed_interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/closed_interval.hpp (original)
+++ sandbox/icl/boost/icl/closed_interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -16,7 +16,7 @@
 {
 
 template <class DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
 class closed_interval
 {
 public:

Modified: sandbox/icl/boost/icl/concept/interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/concept/interval.hpp (original)
+++ sandbox/icl/boost/icl/concept/interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -897,6 +897,13 @@
             || (lower_equal(left,right) && upper_less(left,right));
 }
 
+template<class Type>
+inline typename boost::enable_if<is_interval<Type>, bool>::type
+operator > (const Type& left, const Type& right)
+{
+ return right < left;
+}
+
 
 
 //------------------------------------------------------------------------------

Modified: sandbox/icl/boost/icl/continuous_interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/continuous_interval.hpp (original)
+++ sandbox/icl/boost/icl/continuous_interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -24,7 +24,7 @@
 {
 
 template <class DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
 class continuous_interval
 {
 public:

Modified: sandbox/icl/boost/icl/detail/design_config.hpp
==============================================================================
--- sandbox/icl/boost/icl/detail/design_config.hpp (original)
+++ sandbox/icl/boost/icl/detail/design_config.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -95,10 +95,16 @@
 
 
 //------------------------------------------------------------------------------
-#define ICL_INTERVAL_DEFAULT boost::icl::interval_type_default
+#define ICL_ALLOC template<class>class
 
 //------------------------------------------------------------------------------
-#define ICL_ALLOC template<class>class
+#define ICL_INTERVAL_DEFAULT boost::icl::interval_type_default
+
+#ifndef BOOST_ICL_USE_COMPARE_STD_GREATER
+# define ICL_COMPARE_DEFAULT std::less
+#else
+# define ICL_COMPARE_DEFAULT std::greater
+#endif
 
 //------------------------------------------------------------------------------
 

Modified: sandbox/icl/boost/icl/detail/std_set.hpp
==============================================================================
--- sandbox/icl/boost/icl/detail/std_set.hpp (original)
+++ sandbox/icl/boost/icl/detail/std_set.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -32,6 +32,13 @@
     { return "set<"+ type_to_string<Type>::apply() +">"; }
 };
 
+template <class Type>
+struct type_to_string<std::set<Type, std::greater<Type> > >
+{
+ static std::string apply()
+ { return "set<"+ type_to_string<Type>::apply() +" g>"; }
+};
+
 }} // namespace icl boost
 
 #endif // BOOST_ICL_DETAIL_STD_SET_HPP_JOFA_101007

Modified: sandbox/icl/boost/icl/discrete_interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/discrete_interval.hpp (original)
+++ sandbox/icl/boost/icl/discrete_interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -24,7 +24,7 @@
 {
 
 template <class DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
 class discrete_interval
 {
 public:

Modified: sandbox/icl/boost/icl/interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/interval.hpp (original)
+++ sandbox/icl/boost/icl/interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -18,7 +18,7 @@
     template <class IntervalT, bool IsDiscrete, bound_type PretendedBounds, bound_type RepresentedBounds>
     struct static_interval;
 
- template <class DomainT, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ template <class DomainT, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
     struct interval
     {
         typedef typename interval_type_default<DomainT,Compare>::type interval_type;

Modified: sandbox/icl/boost/icl/interval_base_map.hpp
==============================================================================
--- sandbox/icl/boost/icl/interval_base_map.hpp (original)
+++ sandbox/icl/boost/icl/interval_base_map.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -50,7 +50,7 @@
     typename DomainT,
     typename CodomainT,
     class Traits = icl::partial_absorber,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT),
     ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),

Modified: sandbox/icl/boost/icl/interval_base_set.hpp
==============================================================================
--- sandbox/icl/boost/icl/interval_base_set.hpp (original)
+++ sandbox/icl/boost/icl/interval_base_set.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -44,7 +44,7 @@
 <
     typename SubType,
     typename DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),
     ICL_ALLOC Alloc = std::allocator
>
@@ -205,7 +205,6 @@
     const_iterator find(const element_type& key_value)const
     {
         return icl::find(*this, key_value);
- //CL return this->_set.find(icl::singleton<segment_type>(key));
     }
 
     /** Find the first interval, that collides with interval \c key_interval */

Modified: sandbox/icl/boost/icl/interval_map.hpp
==============================================================================
--- sandbox/icl/boost/icl/interval_map.hpp (original)
+++ sandbox/icl/boost/icl/interval_map.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -28,7 +28,7 @@
     typename DomainT,
     typename CodomainT,
     class Traits = icl::partial_absorber,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT),
     ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),

Modified: sandbox/icl/boost/icl/interval_set.hpp
==============================================================================
--- sandbox/icl/boost/icl/interval_set.hpp (original)
+++ sandbox/icl/boost/icl/interval_set.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -20,7 +20,7 @@
 template
 <
     typename DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),
     ICL_ALLOC Alloc = std::allocator
>

Modified: sandbox/icl/boost/icl/left_open_interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/left_open_interval.hpp (original)
+++ sandbox/icl/boost/icl/left_open_interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -18,7 +18,7 @@
 {
 
 template <class DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
 class left_open_interval
 {
 public:

Modified: sandbox/icl/boost/icl/map.hpp
==============================================================================
--- sandbox/icl/boost/icl/map.hpp (original)
+++ sandbox/icl/boost/icl/map.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -87,7 +87,7 @@
     typename DomainT,
     typename CodomainT,
     class Traits = icl::partial_absorber,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT),
     ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT),
     ICL_ALLOC Alloc = std::allocator

Modified: sandbox/icl/boost/icl/open_interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/open_interval.hpp (original)
+++ sandbox/icl/boost/icl/open_interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -18,7 +18,7 @@
 {
 
 template <class DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
 class open_interval
 {
 public:

Modified: sandbox/icl/boost/icl/right_open_interval.hpp
==============================================================================
--- sandbox/icl/boost/icl/right_open_interval.hpp (original)
+++ sandbox/icl/boost/icl/right_open_interval.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -19,7 +19,7 @@
 {
 
 template <class DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
 class right_open_interval
 {
 public:

Modified: sandbox/icl/boost/icl/separate_interval_set.hpp
==============================================================================
--- sandbox/icl/boost/icl/separate_interval_set.hpp (original)
+++ sandbox/icl/boost/icl/separate_interval_set.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -20,7 +20,7 @@
 template
 <
     typename DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),
     ICL_ALLOC Alloc = std::allocator
>

Modified: sandbox/icl/boost/icl/split_interval_map.hpp
==============================================================================
--- sandbox/icl/boost/icl/split_interval_map.hpp (original)
+++ sandbox/icl/boost/icl/split_interval_map.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -24,7 +24,7 @@
     typename DomainT,
     typename CodomainT,
     class Traits = icl::partial_absorber,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, CodomainT),
     ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, CodomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),

Modified: sandbox/icl/boost/icl/split_interval_set.hpp
==============================================================================
--- sandbox/icl/boost/icl/split_interval_set.hpp (original)
+++ sandbox/icl/boost/icl/split_interval_set.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -21,7 +21,7 @@
 template
 <
     typename DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),
     ICL_ALLOC Alloc = std::allocator
>

Modified: sandbox/icl/boost/icl/type_traits/interval_type_default.hpp
==============================================================================
--- sandbox/icl/boost/icl/type_traits/interval_type_default.hpp (original)
+++ sandbox/icl/boost/icl/type_traits/interval_type_default.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -22,7 +22,7 @@
 namespace boost{ namespace icl
 {
 
- template <class DomainT, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT)>
+ template <class DomainT, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
     struct interval_type_default
     {
 #ifdef BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS

Modified: sandbox/icl/boost/icl_xt/interval_bitset.hpp
==============================================================================
--- sandbox/icl/boost/icl_xt/interval_bitset.hpp (original)
+++ sandbox/icl/boost/icl_xt/interval_bitset.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -42,7 +42,7 @@
 <
     typename DomainT = unsigned long,
     typename BitSetT = icl::bits<unsigned long>,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),
     ICL_ALLOC Alloc = std::allocator
>

Modified: sandbox/icl/boost/icl_xt/set.hpp
==============================================================================
--- sandbox/icl/boost/icl_xt/set.hpp (original)
+++ sandbox/icl/boost/icl_xt/set.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -42,7 +42,7 @@
 template
 <
     typename DomainT,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_ALLOC Alloc = std::allocator
>
 class set: private ICL_IMPL_SPACE::set<DomainT, ICL_COMPARE_DOMAIN(Compare,DomainT), Alloc<DomainT> >

Modified: sandbox/icl/boost/validate/laws/law.hpp
==============================================================================
--- sandbox/icl/boost/validate/laws/law.hpp (original)
+++ sandbox/icl/boost/validate/laws/law.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -85,6 +85,9 @@
         bool operator < (const Law& rhs)const
         { return size() < rhs.size(); }
 
+ bool operator > (const Law& rhs)const
+ { return size() > rhs.size(); }
+
         /// The name of the law
         std::string name()const { return that()->name(); }
         /// A formula for the law

Modified: sandbox/icl/libs/icl/example/large_bitset_/large_bitset.hpp
==============================================================================
--- sandbox/icl/libs/icl/example/large_bitset_/large_bitset.hpp (original)
+++ sandbox/icl/libs/icl/example/large_bitset_/large_bitset.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -39,7 +39,7 @@
 <
     typename DomainT = nat64,
     typename BitSetT = bits64,
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT),
     ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),
     ICL_ALLOC Alloc = std::allocator
>

Modified: sandbox/icl/libs/icl/test/portability.hpp
==============================================================================
--- sandbox/icl/libs/icl/test/portability.hpp (original)
+++ sandbox/icl/libs/icl/test/portability.hpp 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -22,17 +22,17 @@
 //ASSUMPTION: Fixed name IntervalMap
 #define ICL_PORT_msvc_7_1_IntervalMap(tp_T, tp_U, tp_Trt) \
 IntervalMap<tp_T, tp_U, tp_Trt \
- ,ICL_COMPARE_INSTANCE(std::less, tp_T) \
+ ,ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T) \
            ,ICL_COMBINE_INSTANCE(icl::inplace_plus, tp_U) \
            ,ICL_SECTION_INSTANCE(icl::inter_section, tp_U) \
- ,ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, ICL_COMPARE_INSTANCE(std::less, tp_T)) \
+ ,ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T)) \
            ,std::allocator>
 
 //ASSUMPTION: Fixed name IntervalSet
 #define ICL_PORT_msvc_7_1_IntervalSet(tp_T) \
 IntervalSet<tp_T \
- ,ICL_COMPARE_INSTANCE(std::less, tp_T) \
- ,ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, ICL_COMPARE_INSTANCE(std::less, tp_T)) \
+ ,ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T) \
+ ,ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T)) \
            ,std::allocator>
 
 
@@ -42,7 +42,7 @@
 #define ICL_IntervalMap_TEMPLATE(tp_T, tp_U, tp_Traits, tp_Trt) \
 template<class tp_T, class tp_U, \
        class tp_Traits = tp_Trt, \
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, tp_T), \
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T), \
        ICL_COMBINE Combine = ICL_COMBINE_INSTANCE(icl::inplace_plus, tp_U), \
        ICL_SECTION Section = ICL_SECTION_INSTANCE(icl::inter_section, tp_U), \
        ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \
@@ -53,7 +53,7 @@
 
 # define ICL_IntervalSet_TEMPLATE(tp_T) \
     template<class tp_T, \
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, tp_T), \
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T), \
         ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \
         ICL_ALLOC Alloc = std::allocator>class
 
@@ -62,7 +62,7 @@
 # define ICL_IntervalSet_TEMPLATE(tp_T) \
     template<class tp_T, \
         class BitSetT = icl::bits<unsigned long>, \
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, tp_T), \
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, tp_T), \
         ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \
         ICL_ALLOC Alloc = std::allocator>class
 

Modified: sandbox/icl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj
==============================================================================
--- sandbox/icl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj (original)
+++ sandbox/icl/libs/validate/example/labat_val_relations_/vc9_labat_val_relations.vcproj 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -223,20 +223,20 @@
                         Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
                         UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ </Filter>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\src\gentor\gentorprofile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\labat_val_relations_\labat_val_relations.cpp"
>
- <File
- RelativePath="..\..\src\gentor\gentorprofile.cpp"
- >
- </File>
- <File
- RelativePath="..\labat_val_relations_\labat_val_relations.cpp"
- >
- </File>
- </Filter>
+ </File>
                 </Filter>
                 <File
                         RelativePath=".\ReadMe.txt"

Modified: sandbox/icl/libs/validate/test/Jamfile.v2
==============================================================================
--- sandbox/icl/libs/validate/test/Jamfile.v2 (original)
+++ sandbox/icl/libs/validate/test/Jamfile.v2 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -63,7 +63,7 @@
     [ run test_icl_morphic_/test_icl_morphic.cpp ../src/gentor/gentorprofile.cpp ]
     
     # 12.10 msvc9 compilation time: 2:36
- # [ run test_signed_quantifier_/test_signed_quantifier.cpp ../src/gentor/gentorprofile.cpp ]
+ [ run test_signed_quantifier_/test_signed_quantifier.cpp ../src/gentor/gentorprofile.cpp ]
     
     # 13.15 msvc9 compilation time:
     [ run test_sorted_assoc_set_/test_sorted_assoc_set.cpp ../src/gentor/gentorprofile.cpp ]
@@ -82,5 +82,89 @@
     
     # 18.14 msvc9 compilation time:
     [ run test_sorted_assoc_map_back_/test_sorted_assoc_map_back.cpp ../src/gentor/gentorprofile.cpp ]
-
+
+ #---------------------------------------------------------------------------
+ # Tests for compare order std::greater
+ #[ run test_val_relations_/test_val_relations.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_val_relations_gt ]
+ #JODO Law violations for std::greater
+
+ [ run test_set_copy_conformity_/test_set_copy_conformity.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_set_copy_conformity_gt ]
+
+ [ run test_map_copy_conformity_/test_map_copy_conformity.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_map_copy_conformity_gt ]
+
+ [ run test_interval_bitset_/test_interval_bitset.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_interval_bitset_gt ]
+
+ [ run test_icl_set_/test_icl_set.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_icl_set_gt ]
+
+ [ run test_collector_/test_collector.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_collector_gt ]
+
+ [ run test_bit_collector_/test_bit_collector.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_bit_collector_gt ]
+
+ [ run test_unsigned_quantifier_/test_unsigned_quantifier.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_unsigned_quantifier_gt ]
+
+ [ run test_set_order_/test_set_order.cpp ../src/gentor/gentorprofile.cpp
+ : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ : test_set_order_gt ]
+
+ #[ run test_map_order_/test_map_order.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_map_order_gt ]
+ #JODO compiler err: op > ambiguous
+
+ #[ run test_icl_morphic_/test_icl_morphic.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_icl_morphic_gt ]
+ #JODO compile err: RandomGentor<set<T, greater>>
+
+ #[ run test_signed_quantifier_/test_signed_quantifier.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_signed_quantifier_gt ]
+ #JODO compile err: RandomGentor<set<T, greater>>
+
+ #[ run test_sorted_assoc_set_/test_sorted_assoc_set.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_sorted_assoc_set_gt ]
+ #JODO law violations and undefined behavior
+
+ #[ run test_sorted_assoc_set_back_/test_sorted_assoc_set_back.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_sorted_assoc_set_back_gt ]
+ #JODO law violations and undefined behavior
+
+ #[ run test_sorted_assoc_bitset_/test_sorted_assoc_bitset.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_sorted_assoc_bitset_gt ]
+ #JODO law violations and undefined behavior
+
+ #[ run test_sorted_assoc_bitset_back_/test_sorted_assoc_bitset_back.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_sorted_assoc_bitset_back_gt ]
+ #JODO law violations and undefined behavior
+
+ #[ run test_sorted_assoc_map_/test_sorted_assoc_map.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_sorted_assoc_map_gt ]
+ #JODO law violations and undefined behavior
+
+ #[ run test_sorted_assoc_map_back_/test_sorted_assoc_map_back.cpp ../src/gentor/gentorprofile.cpp
+ # : : : <define>BOOST_ICL_USE_COMPARE_STD_GREATER
+ # : test_sorted_assoc_map_back_gt ]
+ #JODO law violations and undefined behavior
+
     ;

Modified: sandbox/icl/libs/validate/test/test_val_relations_/vc9_test_val_relations.vcproj
==============================================================================
--- sandbox/icl/libs/validate/test/test_val_relations_/vc9_test_val_relations.vcproj (original)
+++ sandbox/icl/libs/validate/test/test_val_relations_/vc9_test_val_relations.vcproj 2011-04-17 15:53:39 EDT (Sun, 17 Apr 2011)
@@ -120,7 +120,7 @@
                                 Name="VCCLCompilerTool"
                                 WholeProgramOptimization="true"
                                 AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_ICL_USE_COMPARE_STD_GREATER"
                                 ExceptionHandling="1"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"


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