Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67678 - in sandbox/icl: boost/icl_xt libs/icl/test libs/icl/test/test_casual_ libs/icl_xt/example libs/icl_xt/example/casual_sample_ libs/icl_xt/example/time_and_duration_ libs/icl_xt/test libs/icl_xt/test/fastest_interval_bitset_ libs/icl_xt/test/fastest_interval_bitset_infix_
From: afojgo_at_[hidden]
Date: 2011-01-05 06:28:08


Author: jofaber
Date: 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
New Revision: 67678
URL: http://svn.boost.org/trac/boost/changeset/67678

Log:
Modified interval_bitset. Added tests for interval_bitset.
Added:
   sandbox/icl/libs/icl_xt/example/casual_sample_/
   sandbox/icl/libs/icl_xt/example/casual_sample_/casual_sample.cpp (contents, props changed)
   sandbox/icl/libs/icl_xt/example/casual_sample_/vc9_casual_sample.vcproj (contents, props changed)
   sandbox/icl/libs/icl_xt/example/time_and_duration_/
   sandbox/icl/libs/icl_xt/example/time_and_duration_/time_and_duration.cpp (contents, props changed)
   sandbox/icl/libs/icl_xt/example/time_and_duration_/vc9_time_and_duration.vcproj (contents, props changed)
   sandbox/icl/libs/icl_xt/example/vc9_icl_xt_examples.sln (contents, props changed)
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_/
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_/fastest_interval_bitset.cpp (contents, props changed)
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_/vc9_fastest_interval_bitset.vcproj (contents, props changed)
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_cases.hpp (contents, props changed)
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_/
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_/fastest_interval_bitset_infix.cpp (contents, props changed)
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_/vc9_fastest_interval_bitset_infix.vcproj (contents, props changed)
   sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_cases.hpp (contents, props changed)
   sandbox/icl/libs/icl_xt/test/vc9_icl_xt_fast_tests.sln (contents, props changed)
Text files modified:
   sandbox/icl/boost/icl_xt/interval_bitset.hpp | 138 +++++++++++++++++++++++++++++++++------
   sandbox/icl/libs/icl/test/portability.hpp | 24 +++++-
   sandbox/icl/libs/icl/test/test_casual_/test_casual.cpp | 26 +++++--
   sandbox/icl/libs/icl/test/test_interval_set_shared.hpp | 29 ++++++-
   sandbox/icl/libs/icl/test/test_type_lists.hpp | 10 +-
   5 files changed, 183 insertions(+), 44 deletions(-)

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-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -43,7 +43,7 @@
     typename DomainT = unsigned long,
     typename BitSetT = icl::bits<unsigned long>,
     ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT),
- ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), //JODO change to right_open_interval
+ ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare),
     ICL_ALLOC Alloc = std::allocator
>
 class interval_bitset
@@ -73,8 +73,14 @@
 {
 public:
     typedef boost::icl::interval_map
- <DomainT, BitSetT, boost::icl::partial_absorber,
- std::less, boost::icl::inplace_bit_add, boost::icl::inplace_bit_and> interval_bitmap_type;
+ <
+ DomainT, BitSetT, boost::icl::partial_absorber,
+ std::less, boost::icl::inplace_bit_add, boost::icl::inplace_bit_and,
+ Interval, Alloc
+ >
+ interval_bitmap_type;
+
+ typedef interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc> type;
 
     typedef DomainT domain_type;
     typedef DomainT codomain_type;
@@ -95,6 +101,9 @@
     typedef typename interval_bitmap_type::domain_compare domain_compare;
     typedef typename std::set<DomainT,domain_compare,Alloc<DomainT> > atomized_type;
 
+ typedef typename difference_type_of<domain_type>::type difference_type;
+
+
     typedef typename interval_bitmap_type::iterator iterator;
     typedef typename interval_bitmap_type::const_iterator const_iterator;
     typedef typename interval_bitmap_type::reverse_iterator reverse_iterator;
@@ -114,6 +123,10 @@
     typedef typename interval_bitmap_type::reference reference;
     typedef typename interval_bitmap_type::const_reference const_reference;
 
+public:
+ interval_bitset(): _map() {}
+ explicit interval_bitset(const element_type& element) : _map() { this->add(element); }
+ explicit interval_bitset(const interval_type& inter_val): _map() { this->add(inter_val); }
 
 public:
     bool operator ==(const interval_bitset& rhs)const{ return _map == rhs._map; }
@@ -125,11 +138,11 @@
     interval_bitset& operator &=(const interval_bitset& rhs) {_map &= rhs._map; return *this;}
     interval_bitset& operator ^=(const interval_bitset& rhs) {_map ^= rhs._map; return *this;}
 
- interval_bitset& operator +=(const element_type& rhs) {return add(interval_type(rhs, rhs)); }
- interval_bitset& operator |=(const element_type& rhs) {return add(interval_type(rhs, rhs)); }
- interval_bitset& operator -=(const element_type& rhs) {return subtract(interval_type(rhs, rhs)); }
- interval_bitset& operator &=(const element_type& rhs) {return intersect(interval_type(rhs, rhs));}
- interval_bitset& operator ^=(const element_type& rhs) {return flip(interval_type(rhs, rhs)); }
+ interval_bitset& operator +=(const element_type& rhs) {return add(interval_type(rhs)); }
+ interval_bitset& operator |=(const element_type& rhs) {return add(interval_type(rhs)); }
+ interval_bitset& operator -=(const element_type& rhs) {return subtract(interval_type(rhs)); }
+ interval_bitset& operator &=(const element_type& rhs) {return intersect(interval_type(rhs));}
+ interval_bitset& operator ^=(const element_type& rhs) {return flip(interval_type(rhs)); }
 
     interval_bitset& operator +=(const interval_type& rhs){return add(rhs); }
     interval_bitset& operator |=(const interval_type& rhs){return add(rhs); }
@@ -143,14 +156,20 @@
     interval_bitset& subtract (const interval_type& rhs){return segment_apply(&interval_bitset::subtract_, rhs);}
     interval_bitset& intersect(const interval_type& rhs){return segment_apply(&interval_bitset::intersect_,rhs);}
     interval_bitset& flip (const interval_type& rhs){return segment_apply(&interval_bitset::flip_, rhs);}
+ interval_bitset& insert (const interval_type& rhs){return add(rhs);}
+ interval_bitset& erase (const interval_type& rhs){return subtract(rhs);}
 
     interval_bitset& add (const element_type& rhs) {return segment_apply(&interval_bitset::add_, interval_type(rhs));}
     interval_bitset& subtract (const element_type& rhs) {return segment_apply(&interval_bitset::subtract_, interval_type(rhs));}
     interval_bitset& intersect(const element_type& rhs) {return segment_apply(&interval_bitset::intersect_,interval_type(rhs));}
     interval_bitset& flip (const element_type& rhs) {return segment_apply(&interval_bitset::flip_, interval_type(rhs));}
+ interval_bitset& insert (const element_type& rhs) {return add(rhs);}
+ interval_bitset& erase (const element_type& rhs) {return subtract(rhs);}
 
     void clear() { icl::clear(_map); }
     bool empty()const { return icl::is_empty(_map); }
+ void swap(interval_bitset& operand) { _map.swap(operand._map); }
+
     size_type cardinality()const;
     size_type size()const { return cardinality(); }
     size_type interval_count()const { return interval_count(_map); }
@@ -158,6 +177,7 @@
 
     bool contains(element_type element)const{ return _map(element>>shift).contains(element & mask); }
     bool contains(const segment_type& segment)const;
+ //CL bool contains(const element_type& element)const { return contains(segment_type(element)); };
     bool contains(const interval_bitset& sub)const { return icl::contains(_map, sub._map); }
     bool contained_in(const interval_bitset& super)const{ return icl::within(_map, super._map); }
 
@@ -256,11 +276,14 @@
     static word_type to_upper_from(word_type bit){return bit==last ? top : ~((w1<<bit)-w1); }
 
     interval_bitset& segment_apply(segment_combiner combine, const interval_type& operand)
- { // same as
- condensed_type base = operand.first() >> shift, // operand.first()/ divisor
- ceil = operand.last() >> shift; // operand.last() / divisor
- word_type base_rest = operand.first() & mask , // operand.first()% divisor
- ceil_rest = operand.last() & mask ; // operand.last() % divisor
+ {
+ if(icl::is_empty(operand))
+ return *this;
+ // same as
+ condensed_type base = icl::first(operand) >> shift, // first(operand) / divisor
+ ceil = icl::last (operand) >> shift; // last (operand) / divisor
+ word_type base_rest = icl::first(operand) & mask , // first(operand) % divisor
+ ceil_rest = icl::last (operand) & mask ; // last (operand) % divisor
 
         if(base == ceil) // [first, last] are within one bitset (chunk)
             (this->*combine)(base, base+1, bitset_type( to_upper_from(base_rest)
@@ -295,6 +318,26 @@
 };
 
 
+
+// For a given interval like e.g. [5,27] we have to split up the intervals into
+// partitions
+//
+// [0,1)-> [1,2)-> [2,3)-> [3,4)->
+// [00101100][11001011][11101001][11100000]
+// + [111 11111111 11111111 1111] [5,27] as bitset
+// a b
+//
+// => [0,1)-> [1,3)-> [3,4)->
+// [00101111][11111111][11110000]
+//
+// in preparation to an operation like "+" above.
+//
+// [0,1)-> [1,2)-> [2,3)-> [3,4)->
+// [00101100][11001011][11101001][11100000]
+// [111 11111111 11111111 1111] [5,27] as bitset
+// 00000111 11111111 11110000
+// subs ^ inters ^ supers
+// lo=1 up=2
 template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
 typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::PartsT
 interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::partition
@@ -305,13 +348,13 @@
     const segment_type& segment
 )const
 {
- if(segment.empty())
+ if(icl::is_empty(segment))
         return PartsT();
 
- condensed_type base = segment.first() >> shift, // segment.first()/ divisor
- ceil = segment.last() >> shift; // segment.last() / divisor
- word_type base_rest = segment.first() & mask , // segment.first()% divisor
- ceil_rest = segment.last() & mask ; // segment.last() % divisor
+ condensed_type base = icl::first(segment) >> shift, // segment.first()/ divisor
+ ceil = icl::last (segment) >> shift; // segment.last() / divisor
+ word_type base_rest = icl::first(segment) & mask , // segment.first()% divisor
+ ceil_rest = icl::last (segment) & mask ; // segment.last() % divisor
 
     if(base == ceil) // [first, last] are within one bitset
     {
@@ -349,7 +392,7 @@
 template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
 bool interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::contains(const segment_type& segment)const
 {
- if(segment.empty())
+ if(icl::is_empty(segment))
         return true; // Emptieness is contained in everything
 
     condensed_type lo, up ;
@@ -364,7 +407,7 @@
             return false;
         if(parts.contains(super_part) && !_map(up).contains(supers))
             return false;
- if(parts.contains(inter_part) && !_map.contains(seg_type(interval_type::right_open(lo,up), inters)) )
+ if(parts.contains(inter_part) && !icl::contains(_map, seg_type(interval_type::right_open(lo,up), inters)) )
             return false;
 
         return true;
@@ -382,8 +425,38 @@
     return cardinality;
 }
 
+//JODO move ...
+template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
+typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::size_type
+ cardinality(const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& object)
+{
+ typedef typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::type object_type;
+ typedef typename object_type::size_type size_type;
+ size_type cardinality = 0;
+ ICL_const_FORALL(typename object_type, it_, object)
+ cardinality += (it_->second.cardinality() * icl::cardinality(it_->first));//JODO icl::bits
+ return cardinality;
+}
+
+template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
+typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::size_type
+ interval_count(const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& object)
+{
+ return object.iterative_size();
+}
+
+template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
+typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::interval_type
+hull(const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& object)
+{
+ typedef typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::interval_type interval_type;
+ return
+ icl::is_empty(object)
+ ? identity_element<interval_type>::value()
+ : interval_type::closed(*object.elements_begin(), *object.elements_rbegin());
+}
 
-template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
+template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
 void interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::show_segments()const
 {
     for(typename interval_bitmap_type::const_iterator it_ = _map.begin();
@@ -472,7 +545,7 @@
 
 template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
 bool contains(const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& super,
- const typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::element_type& sub )
+ typename interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>::element_type sub)
 {
     return super.contains(sub);
 }
@@ -491,6 +564,27 @@
     return super.contains(sub);
 }
 
+template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
+bool within(const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& sub,
+ const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& super)
+{
+ return super.contains(sub);
+}
+
+template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
+bool intersects(const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& x1,
+ const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& x2 )
+{
+ return !(x1 & x2).empty(); //JODO
+}
+
+template<class DomainT, class BitSetT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc>
+bool disjoint(const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& x1,
+ const interval_bitset<DomainT,BitSetT,Compare,Interval,Alloc>& x2 )
+{
+ return !intersects(x1, x2); //JODO
+}
+
 
 template<class CharType, class CharTraits,
     class DomainT, class BitSetT,

Modified: sandbox/icl/libs/icl/test/portability.hpp
==============================================================================
--- sandbox/icl/libs/icl/test/portability.hpp (original)
+++ sandbox/icl/libs/icl/test/portability.hpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -48,13 +48,25 @@
        ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \
        ICL_ALLOC Alloc = std::allocator>class
 
-
-#define ICL_IntervalSet_TEMPLATE(tp_T) \
-template<class tp_T, \
- ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, tp_T), \
- ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \
- ICL_ALLOC Alloc = std::allocator>class
 
+#ifndef ICL_INTERVAL_BITSET_IMPL
+
+# define ICL_IntervalSet_TEMPLATE(tp_T) \
+ template<class tp_T, \
+ ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, tp_T), \
+ ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \
+ ICL_ALLOC Alloc = std::allocator>class
+
+#else
+
+# 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_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, tp_T, Compare), \
+ ICL_ALLOC Alloc = std::allocator>class
+
+#endif //ICL_INTERVAL_BITSET_IMPL
 
 #endif // BOOST_ICL_TEST_PORTABILITY_HPP_JOFA_101111
 

Modified: sandbox/icl/libs/icl/test/test_casual_/test_casual.cpp
==============================================================================
--- sandbox/icl/libs/icl/test/test_casual_/test_casual.cpp (original)
+++ sandbox/icl/libs/icl/test/test_casual_/test_casual.cpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -19,9 +19,12 @@
 
 #include <boost/icl/gregorian.hpp>
 #include <boost/icl/ptime.hpp>
-//#include <boost/icl/interval_map.hpp>
+
+#include <boost/icl/interval_map.hpp>
 #include <boost/icl/interval.hpp>
 
+#include <boost/icl_xt/inter_bitset.hpp>
+
 
 using namespace std;
 using namespace boost;
@@ -69,15 +72,24 @@
         cout << rel_a_b << " " << (icl::size(rel_a_b)) << endl;
 }
 
+void test_inter_bitset()
+{
+ inter_bitset<int> inbis;
+
+ interval<int>::type itv = interval<int>::right_open(0,2);
+ inbis.add(itv);
+}
+
 BOOST_AUTO_TEST_CASE(casual)
 {
- //typedef int T;
- //typedef int U;
- //typedef interval_map<T,U, total_absorber> IntervalMapT;
- //typedef interval_set<T> IntervalSetT;
- //typedef IntervalMapT::interval_type IntervalT;
+ typedef int T;
+ typedef int U;
+ typedef interval_map<T,U, total_absorber> IntervalMapT;
+ typedef interval_set<T> IntervalSetT;
+ typedef IntervalMapT::interval_type IntervalT;
 
- time_test();
+ // time_test();
+ test_inter_bitset();
 
     BOOST_CHECK_EQUAL(true, true);
 }

Modified: sandbox/icl/libs/icl/test/test_interval_set_shared.hpp
==============================================================================
--- sandbox/icl/libs/icl/test/test_interval_set_shared.hpp (original)
+++ sandbox/icl/libs/icl/test/test_interval_set_shared.hpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -118,6 +118,8 @@
     BOOST_CHECK_EQUAL(hull(single_I0_1I).lower(), I0_1I.lower());
     BOOST_CHECK_EQUAL(hull(single_I0_1I).upper(), I0_1I.upper());
 
+ BOOST_CHECK_EQUAL(icl::is_empty(single_I0_0I), false);
+
     //contains predicate
     BOOST_CHECK_EQUAL(icl::contains(single_I0_0I, v0), true);
     BOOST_CHECK_EQUAL(icl::contains(single_I0_0I, I0_0I), true);
@@ -242,17 +244,34 @@
     T v3 = make<T>(3);
     T v5 = make<T>(5);
 
- size_T s3 = make<size_T>(3);
-
+ size_T s3 = make<size_T>(3);
 
     IntervalSet<T> is_1_3_5;
     is_1_3_5.add(v1).add(v3).add(v5);
 
- BOOST_CHECK_EQUAL( cardinality(is_1_3_5), s3 );
- BOOST_CHECK_EQUAL( is_1_3_5.size(), s3 );
- BOOST_CHECK_EQUAL( interval_count(is_1_3_5), 3 );
+ BOOST_CHECK_EQUAL( cardinality(is_1_3_5), s3 );
+
+ BOOST_CHECK_EQUAL( is_1_3_5.size(), s3 );
     BOOST_CHECK_EQUAL( iterative_size(is_1_3_5), 3 );
+
+#ifdef ICL_INTERVAL_BITSET_IMPL
+ BOOST_CHECK_EQUAL( is_1_3_5.iterative_size(), 1 );
+ BOOST_CHECK_EQUAL( interval_count(is_1_3_5), 1 );
+#else
     BOOST_CHECK_EQUAL( is_1_3_5.iterative_size(), 3 );
+ BOOST_CHECK_EQUAL( interval_count(is_1_3_5), 3 );
+#endif
+
+ IntervalSet<T> is_5_65_129;
+ is_5_65_129.add(MK_v(5)).add(MK_v(65)).add(MK_v(129));
+
+ BOOST_CHECK_EQUAL( cardinality(is_5_65_129), s3 );
+
+ BOOST_CHECK_EQUAL( is_5_65_129.size(), s3 );
+ BOOST_CHECK_EQUAL( iterative_size(is_5_65_129), 3 );
+
+ BOOST_CHECK_EQUAL( is_5_65_129.iterative_size(), 3 );
+ BOOST_CHECK_EQUAL( interval_count(is_5_65_129), 3 );
 }
 
 

Modified: sandbox/icl/libs/icl/test/test_type_lists.hpp
==============================================================================
--- sandbox/icl/libs/icl/test/test_type_lists.hpp (original)
+++ sandbox/icl/libs/icl/test/test_type_lists.hpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -82,10 +82,12 @@
     ,short, int, long, long long
> integral_types;
 
-typedef int integral_type_1;
-typedef unsigned int integral_type_2;
-typedef short integral_type_3;
-typedef unsigned int integral_type_4;
+typedef int integral_type_1;
+typedef unsigned int integral_type_2;
+typedef short integral_type_3;
+typedef unsigned short integral_type_4;
+typedef long long integral_type_5;
+typedef unsigned long long integral_type_6;
 
 typedef ::boost::mpl::list<
     unsigned short, unsigned int

Added: sandbox/icl/libs/icl_xt/example/casual_sample_/casual_sample.cpp
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/example/casual_sample_/casual_sample.cpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,22 @@
+/*-----------------------------------------------------------------------------+
+Interval Container Library
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
+Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#include <iostream>
+
+using namespace std;
+//using namespace boost::posix_time;
+//using namespace boost::icl;
+
+
+int main()
+{
+ return 0;
+}
+

Added: sandbox/icl/libs/icl_xt/example/casual_sample_/vc9_casual_sample.vcproj
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/example/casual_sample_/vc9_casual_sample.vcproj 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_casual_sample"
+ ProjectGUID="{0D1DB87E-E72A-4FE9-A067-1907CC6723F8}"
+ RootNamespace="casual_sample"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="../../../../bin/debug/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../../; ../../../../icl"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ UseUnicodeResponseFiles="true"
+ OutputFile="../../../../bin/debug/$(ProjectName).exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ IgnoreAllDefaultLibraries="false"
+ GenerateDebugInformation="true"
+ AssemblyDebug="1"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseUnicodeResponseFiles="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="../../../../bin/release/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ UseUnicodeResponseFiles="false"
+ OutputFile="../../../../bin/release/$(ProjectName).exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ IgnoreAllDefaultLibraries="false"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\casual_sample.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\itl\interval.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\itl\interval_base_map.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\itl\interval_map.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Added: sandbox/icl/libs/icl_xt/example/time_and_duration_/time_and_duration.cpp
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/example/time_and_duration_/time_and_duration.cpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,147 @@
+/*-----------------------------------------------------------------------------+
+Interval Container Library
+Author: Joachim Faulhaber
+Copyright (c) 2007-2009: Joachim Faulhaber
+Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+
+/** Example time_and_duration.cpp \file time_and_duration.cpp
+ \brief Times, durations and intervals.
+
+
+ \include time_and_duration_/time_and_duration.cpp
+*/
+//[example_time_and_duration
+// The next line includes <boost/date_time/posix_time/posix_time.hpp>
+// and a few lines of adapter code.
+#include <boost/icl/ptime.hpp>
+#include <iostream>
+#include <boost/icl/interval_map.hpp>
+
+using namespace std;
+using namespace boost;
+using namespace boost::posix_time;
+using namespace boost::icl;
+
+
+/*JODO This is only halfbaked stuff and a collection of some ideas:
+
+This example is intended to show that we can work with
+interval<ptime> points in time
+interval<ptime>::difference_type = duration time durations as intervall lenths
+and
+interval<duration> intervals of durations, as time object with a 0-element
+that is not fixed.
+
+While thinking about the date time stuff I realize that the fixed ptime and
+relative duration aspects are only an interpretation with respect to the
+parameters origin, resolution and time segmentation, which could be called
+time system T=(o,r,s).
+
+Basically we can always compute with integers!
+(1) We receive a date/time information as input for a timesystem T=(o,r,s).
+(2) We transform time data from T to integer values i.
+(3) All computations are made on integer values i.
+(4) Finally we can transform the compuation results back to the timesystem
+ T=(o,r,s) or a different timesystem T'=(o',r',s'), if needed.
+
+T ---f---> T We assume, that every operation f:T->T on time types
+| | can be performed on the equivalent integral type I,
+g g such that the left diagram commutes.
+| |
+V V
+I ---f---> I
+
+Arithmetic on intervals: According to
+ptime + duration -> ptime
+duration + ptime -> ptime
+duration + duration -> duration
+
+we could define
+interval<ptime> + interval<duration> -> interval<ptime>
+etc.
+*/
+void time_and_duration()
+{
+ // boost::posix_times are points in time related to the
+ // Gregorian calendar. It has a time origin January-1-0, 00:00
+ // which is NOT in the scope of its representable values.
+
+ // The smallest representable point in time is
+ cout << "Technical time origin: " << ptime(min_date_time) << endl;
+ // which is also the identity element on ptime
+ cout << "Also Null value : " << icl::identity_element<ptime>::value() << endl;
+ // Note, that identity_element<ptime> is added to boost posix_time by
+ // adaptor code in <boost/icl/ptime.hpp>
+
+ ptime origin = identity_element<ptime>::value();
+ ptime next = origin; ++next;
+ cout << "Smallest next time : " << next << endl;
+
+ // Start decorating the Christmas tree
+ ptime start_deco = time_from_string("2010-12-24 16:30");
+ // Ahh! Christmas tree is decorated
+ ptime stop_deco = time_from_string("2010-12-24 17:15");
+
+ time_duration decoration_time = stop_deco - start_deco;
+
+
+ //JODO Make it a nice example
+ ptime t_a = time_from_string("2010-12-24 19:30");
+ ptime t_b = time_from_string("2010-12-24 20:30");
+ time_duration a_2_b = t_b - t_a;
+ cout << "Duration of [" << t_a << "," << t_b << ") = "
+ << a_2_b << endl;
+
+ interval<ptime>::type a_b
+ = interval<ptime>::right_open(t_a, t_b);
+ cout << "Duration of " << a_b << " = "
+ << icl::size(a_b) << endl;
+
+ icl::size(a_b);
+
+ time_duration half = a_2_b / 2;
+ ptime t_m = t_a + half;
+
+ cout << a_b << (icl::contains(a_b, t_m) ?
+ " contains " : "does not contain ")
+ << t_m << endl;
+
+ ptime day_begin = time_from_string("2010-12-24 00:00");
+ time_duration d_a = t_a - day_begin;
+ time_duration d_b = t_b - day_begin;
+ time_duration d_m = d_b - d_a;
+
+ interval<time_duration>::type rel_a_b
+ = interval<time_duration>::right_open(d_a, d_b);
+
+ time_duration sz_a_b_1 = d_b - d_a;
+ time_duration sz_a_b_2 = icl::size(rel_a_b);
+ cout << "b-a = " << sz_a_b_1 << endl;
+ cout << "size([a,b)) = " << sz_a_b_2 << endl;
+ cout << "size([a,b)) = " << (icl::size(rel_a_b)) << endl;
+
+ cout << rel_a_b << " " << (icl::size(rel_a_b)) << endl;
+}
+
+
+int main()
+{
+ cout << ">>Interval Container Library: Sample time_and_duration.cpp <<\n";
+ cout << "-------------------------------------------------------------\n";
+ time_and_duration();
+ return 0;
+}
+
+// Program output:
+/*-----------------------------------------------------------------------------
+>>Interval Container Library: Sample time_and_duration.cpp <<
+-------------------------------------------------------------
+TODO Show prgram output.
+-----------------------------------------------------------------------------*/
+//]
+

Added: sandbox/icl/libs/icl_xt/example/time_and_duration_/vc9_time_and_duration.vcproj
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/example/time_and_duration_/vc9_time_and_duration.vcproj 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_time_and_duration"
+ ProjectGUID="{0D1DB87E-E72A-4FE9-A067-1907CC6634F8}"
+ RootNamespace="time_and_duration"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="../../../../bin/debug/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_STLP_DEBUG=1"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ UseUnicodeResponseFiles="true"
+ OutputFile="../../../../bin/debug/$(ProjectName).exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib; ../../../../../../STLport/STLport-5.2.1/lib"
+ IgnoreAllDefaultLibraries="false"
+ GenerateDebugInformation="true"
+ AssemblyDebug="1"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ UseUnicodeResponseFiles="true"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="../../../../bin/release/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ UseUnicodeResponseFiles="false"
+ OutputFile="../../../../bin/release/$(ProjectName).exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ IgnoreAllDefaultLibraries="false"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\time_and_duration.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\itl\interval.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\itl\interval_base_map.hpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\itl\interval_map.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Added: sandbox/icl/libs/icl_xt/example/vc9_icl_xt_examples.sln
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/example/vc9_icl_xt_examples.sln 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,38 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_casual_sample", "casual_sample_\vc9_casual_sample.vcproj", "{0D1DB87E-E72A-4FE9-A067-1907CC6723F8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_amount_cube", "amount_cube_\vc9_amount_cube.vcproj", "{5B6AE5B3-FAF3-4D98-A6F9-C8889C62A0E5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_history", "history_\vc9_history.vcproj", "{DD506ECC-2DE5-4C26-B810-B85A61BAA7EC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_time_and_duration", "time_and_duration_\vc9_time_and_duration.vcproj", "{0D1DB87E-E72A-4FE9-A067-1907CC6634F8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0D1DB87E-E72A-4FE9-A067-1907CC6723F8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0D1DB87E-E72A-4FE9-A067-1907CC6723F8}.Debug|Win32.Build.0 = Debug|Win32
+ {0D1DB87E-E72A-4FE9-A067-1907CC6723F8}.Release|Win32.ActiveCfg = Release|Win32
+ {0D1DB87E-E72A-4FE9-A067-1907CC6723F8}.Release|Win32.Build.0 = Release|Win32
+ {5B6AE5B3-FAF3-4D98-A6F9-C8889C62A0E5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5B6AE5B3-FAF3-4D98-A6F9-C8889C62A0E5}.Debug|Win32.Build.0 = Debug|Win32
+ {5B6AE5B3-FAF3-4D98-A6F9-C8889C62A0E5}.Release|Win32.ActiveCfg = Release|Win32
+ {5B6AE5B3-FAF3-4D98-A6F9-C8889C62A0E5}.Release|Win32.Build.0 = Release|Win32
+ {DD506ECC-2DE5-4C26-B810-B85A61BAA7EC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DD506ECC-2DE5-4C26-B810-B85A61BAA7EC}.Debug|Win32.Build.0 = Debug|Win32
+ {DD506ECC-2DE5-4C26-B810-B85A61BAA7EC}.Release|Win32.ActiveCfg = Release|Win32
+ {DD506ECC-2DE5-4C26-B810-B85A61BAA7EC}.Release|Win32.Build.0 = Release|Win32
+ {0D1DB87E-E72A-4FE9-A067-1907CC6634F8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0D1DB87E-E72A-4FE9-A067-1907CC6634F8}.Debug|Win32.Build.0 = Debug|Win32
+ {0D1DB87E-E72A-4FE9-A067-1907CC6634F8}.Release|Win32.ActiveCfg = Release|Win32
+ {0D1DB87E-E72A-4FE9-A067-1907CC6634F8}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal

Added: sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_/fastest_interval_bitset.cpp
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_/fastest_interval_bitset.cpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,36 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#define BOOST_TEST_MODULE icl::interval_set unit test
+#include <libs/icl/test/disable_test_warnings.hpp>
+#include <string>
+#include <boost/mpl/list.hpp>
+#include <libs/icl/test/unit_test_unwarned.hpp>
+#include <boost/test/test_case_template.hpp>
+
+// interval instance types
+#include <libs/icl/test/test_type_lists.hpp>
+#include <libs/icl/test/test_value_maker.hpp>
+
+#include <boost/icl_xt/interval_bitset.hpp>
+
+using namespace std;
+using namespace boost;
+using namespace unit_test;
+using namespace boost::icl;
+
+// -----------------------------------------------------------------------------
+// test_interval_set_shared are tests that should give identical results for all
+// interval_sets: interval_set, separate_interval_set and split_interval_set.
+#define ICL_INTERVAL_BITSET_IMPL // Pass the interval_bitset template parameter
+ // to the test functions via portability.hpp
+#include <libs/icl/test/test_interval_set_shared.hpp>
+
+#define INTERVAL_SET interval_bitset
+#include <libs/icl_xt/test/fastest_interval_bitset_cases.hpp>
+
+

Added: sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_/vc9_fastest_interval_bitset.vcproj
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_/vc9_fastest_interval_bitset.vcproj 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_fastest_interval_bitset"
+ ProjectGUID="{EE61B7EF-EC45-4165-8B49-FD5B7D3A905C}"
+ RootNamespace="Fastest_interval_bitset"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="../../../../bin/debug/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="../../../../bin/debug/$(ProjectName).exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="../../../../bin/release/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="../../../../bin/release/$(ProjectName).exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\fastest_interval_bitset.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\test_type_lists.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Added: sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_cases.hpp
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_cases.hpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,59 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_ICL_FASTEST_INTERVAL_SET_CASES_HPP_JOFA_090702
+#define BOOST_ICL_FASTEST_INTERVAL_SET_CASES_HPP_JOFA_090702
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_fundamentals_4_ordered_types)
+{ interval_set_fundamentals_4_ordered_types<INTERVAL_SET, integral_type_1>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_ctor_4_bicremental_types)
+{ interval_set_ctor_4_bicremental_types<INTERVAL_SET, integral_type_2>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_add_sub_4_bicremental_types)
+{ interval_set_add_sub_4_bicremental_types<INTERVAL_SET, integral_type_3>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_distinct_4_bicremental_types)
+{ interval_set_distinct_4_bicremental_types<INTERVAL_SET, integral_type_4>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_element_compare_4_bicremental_types)
+{ interval_set_element_compare_4_bicremental_types<INTERVAL_SET, integral_type_5>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_contains_4_bicremental_types)
+{ interval_set_contains_4_bicremental_types<INTERVAL_SET, integral_type_6>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_operators_4_bicremental_types)
+{ interval_set_operators_4_bicremental_types<INTERVAL_SET, integral_type_1>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_base_intersect_4_bicremental_types)
+{ interval_set_base_intersect_4_bicremental_types<INTERVAL_SET, integral_type_2>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_flip_4_bicremental_types)
+{ interval_set_flip_4_bicremental_types<INTERVAL_SET, integral_type_3>();}
+
+//JODO implement 'find' and 'set' and test for interval_bitset.
+//BOOST_AUTO_TEST_CASE
+//(fastest_icl_interval_set_find_4_bicremental_types)
+//{ interval_set_find_4_bicremental_types<INTERVAL_SET, integral_type_4>();}
+
+//BOOST_AUTO_TEST_CASE
+//(fastest_icl_interval_set_element_iter_4_discrete_types)
+//{ interval_set_element_iter_4_discrete_types<INTERVAL_SET, discrete_type_2>();}
+
+#endif // BOOST_ICL_FASTEST_INTERVAL_SET_CASES_HPP_JOFA_090702
+
+
+

Added: sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_/fastest_interval_bitset_infix.cpp
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_/fastest_interval_bitset_infix.cpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,37 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#define BOOST_TEST_MODULE icl::interval_set_infix unit test
+#include <libs/icl/test/disable_test_warnings.hpp>
+#include <string>
+#include <boost/mpl/list.hpp>
+#include <libs/icl/test/unit_test_unwarned.hpp>
+#include <boost/test/test_case_template.hpp>
+
+// interval instance types
+#include <libs/icl/test/test_type_lists.hpp>
+#include <libs/icl/test/test_value_maker.hpp>
+
+#include <boost/icl_xt/interval_bitset.hpp>
+
+using namespace std;
+using namespace boost;
+using namespace unit_test;
+using namespace boost::icl;
+
+// -----------------------------------------------------------------------------
+// test_interval_set_shared are tests that should give identical results for all
+// interval_sets: interval_set, separate_interval_set and split_interval_set.
+#define ICL_INTERVAL_BITSET_IMPL // Pass the interval_bitset template parameter
+ // to the test functions via portability.hpp
+#include <libs/icl/test/test_interval_set_shared.hpp>
+
+#define INTERVAL_SET interval_bitset
+#include <libs/icl_xt/test/fastest_interval_bitset_infix_cases.hpp>
+
+
+

Added: sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_/vc9_fastest_interval_bitset_infix.vcproj
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_/vc9_fastest_interval_bitset_infix.vcproj 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_fastest_interval_bitset_infix"
+ ProjectGUID="{A731623C-94BC-4666-A419-35D1623E916E}"
+ RootNamespace="Fastest_interval_bitset_infix"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="../../../../bin/debug/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="../../../../bin/debug/$(ProjectName).exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="../../../../bin/release/"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/release/"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="../../../../bin/release/$(ProjectName).exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\fastest_interval_bitset_infix.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\test_type_lists.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Added: sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_cases.hpp
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/test/fastest_interval_bitset_infix_cases.hpp 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,34 @@
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
+#ifndef BOOST_ICL_FASTEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090702
+#define BOOST_ICL_FASTEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090702
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_infix_plus_overload_4_bicremental_types)
+{ interval_set_infix_plus_overload_4_bicremental_types<INTERVAL_SET, integral_type_1>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_infix_pipe_overload_4_bicremental_types)
+{ interval_set_infix_pipe_overload_4_bicremental_types<INTERVAL_SET, integral_type_2>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_infix_minus_overload_4_bicremental_types)
+{ interval_set_infix_minus_overload_4_bicremental_types<INTERVAL_SET, integral_type_3>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_infix_et_overload_4_bicremental_types)
+{ interval_set_infix_et_overload_4_bicremental_types<INTERVAL_SET, integral_type_4>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_infix_caret_overload_4_bicremental_types)
+{ interval_set_infix_caret_overload_4_bicremental_types<INTERVAL_SET, integral_type_5>();}
+
+#endif // BOOST_ICL_FASTEST_INTERVAL_SET_INFIX_CASES_HPP_JOFA_090702
+
+
+

Added: sandbox/icl/libs/icl_xt/test/vc9_icl_xt_fast_tests.sln
==============================================================================
--- (empty file)
+++ sandbox/icl/libs/icl_xt/test/vc9_icl_xt_fast_tests.sln 2011-01-05 06:28:05 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_bitset", "fastest_interval_bitset_\vc9_fastest_interval_bitset.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D3A905C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fastest_interval_bitset_infix", "fastest_interval_bitset_infix_\vc9_fastest_interval_bitset_infix.vcproj", "{A731623C-94BC-4666-A419-35D1623E916E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A905C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A905C}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A905C}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A905C}.Release|Win32.Build.0 = Release|Win32
+ {A731623C-94BC-4666-A419-35D1623E916E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A731623C-94BC-4666-A419-35D1623E916E}.Debug|Win32.Build.0 = Debug|Win32
+ {A731623C-94BC-4666-A419-35D1623E916E}.Release|Win32.ActiveCfg = Release|Win32
+ {A731623C-94BC-4666-A419-35D1623E916E}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal


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