Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58051 - in sandbox/itl/libs: itl/doc itl/example/large_bitset_ itl/test itl/test/test_casual_ validate/example validate/example/labat_itv_bitset_ validate/example/labat_polygon_ validate/example/labat_single_ validate/example/labat_sorted_associative_bitset_ validate/example/labat_sorted_associative_map_ validate/example/labat_sorted_associative_set_
From: afojgo_at_[hidden]
Date: 2009-11-30 05:44:11


Author: jofaber
Date: 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
New Revision: 58051
URL: http://svn.boost.org/trac/boost/changeset/58051

Log:
Added law based tests for element_iterators. Bugfixed bit_element_iterators for interval_bitset.
Added documentation on element_iterators. Stable {msvc-9.0}

Added:
   sandbox/itl/libs/itl/doc/functions_element_iteration.qbk (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/
   sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/labat_sorted_associative_bitset.cpp (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/vc9_labat_sorted_associative_bitset.vcproj (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_map_/
   sandbox/itl/libs/validate/example/labat_sorted_associative_map_/labat_sorted_associative_map.cpp (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_map_/vc9_labat_sorted_associative_map.vcproj (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_/
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_/labat_sorted_associative_set.cpp (contents, props changed)
   sandbox/itl/libs/validate/example/labat_sorted_associative_set_/vc9_labat_sorted_associative_set.vcproj (contents, props changed)
Text files modified:
   sandbox/itl/libs/itl/doc/functions.qbk | 1
   sandbox/itl/libs/itl/doc/interface.qbk | 41 ++++++
   sandbox/itl/libs/itl/doc/itl.qbk | 1
   sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp | 5
   sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp | 263 ++++++++++++++++++++++++++++++++++++++-
   sandbox/itl/libs/itl/test/test_type_lists.hpp | 2
   sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj | 36 -----
   sandbox/itl/libs/validate/example/labat_polygon_/labat_polygon.cpp | 17 +-
   sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp | 34 ++++-
   sandbox/itl/libs/validate/example/vc9_validate_examples.sln | 24 +++
   10 files changed, 363 insertions(+), 61 deletions(-)

Modified: sandbox/itl/libs/itl/doc/functions.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/functions.qbk (original)
+++ sandbox/itl/libs/itl/doc/functions.qbk 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -256,6 +256,7 @@
 [include functions_intersection.qbk]
 [include functions_symmetric_difference.qbk]
 [include functions_iterator_related.qbk]
+[include functions_element_iteration.qbk]
 [include functions_streaming.qbk]
 
 

Added: sandbox/itl/libs/itl/doc/functions_element_iteration.qbk
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/itl/doc/functions_element_iteration.qbk 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -0,0 +1,79 @@
+[/
+ Copyright (c) 2008-2009 Joachim Faulhaber
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+]
+
+
+[/ //= Element iteration ===================================================================]
+[section Element iteration]
+
+This section refers to ['*element iteration*] over ['*interval containers*].
+Element iterators are available as associated types on interval sets and interval maps.
+
+[table
+[[Variant] [Associated element iterator type for interval container `T`]]
+[[forward] [`T::element_iterator`] ]
+[[const forward][`T::element_const_iterator`] ]
+[[reverse] [`T::element_reverse_iterator`] ]
+[[const reverse][`T::element_const_reverse_iterator`] ]
+]
+
+There are also associated iterators types
+`T::iterator`, `T::const_iterator`,
+`T::reverse_iterator` and `T::reverse_const_iterator`
+on interval containers.
+These are ['*segment iterators*]. Segment iterators are
+"first citizen iterators". [/ NOTE Identical to interface.qbk from here]
+Iteration over segments is fast, compared to an iteration over elements,
+particularly if intervals are large.
+But if we want to view our interval containers as containers
+of elements that are usable with std::algoritms, we need to
+iterate over elements.
+
+Iteration over elements . . .
+
+* is possible only for integral or discrete `domain_types`
+* can be very ['*slow*] if the intervals are very large.
+* and is therefore ['*depreciated*]
+
+On the other hand, sometimes iteration over interval containers
+on the element level might be desired, if you have some
+interface that works for `std::SortedAssociativeContainers` of
+elements and you need to quickly use it with an interval container.
+Accepting the poorer performance might be less bothersome at times
+than adjusting your whole interface for segment iteration.
+
+[caution So we advice you to choose element iteration over
+interval containers ['*judiciously*]. Do not use element iteration
+['*by default or habitual*]. Always try to achieve results using
+member functions, global functions or operators
+(preferably inplace versions)
+or iteration over segments first.]
+
+
+[table
+[[['*Synopsis Complexities*]] [__ch_itv_sets__][__ch_itv_maps__]]
+[[`J T::elements_begin()`] [__O1__] [__O1__] ]
+[[`J T::elements_end()`] [__O1__] [__O1__] ]
+[[`J T::elements_rbegin()`] [__O1__] [__O1__] ]
+[[`J T::elements_rend()`] [__O1__] [__O1__] ]
+]
+
+[table
+[[['*Element iteration*]] [Description] ]
+[[`` T::element_iterator T::elements_begin()
+T::element_const_iterator T::elements_begin()const``] [Returns an element iterator to the first element of the container.] ]
+[[`` T::element_iterator T::elements_end()
+T::element_const_iterator T::elements_end()const``] [Returns an element iterator to a position `elements_end()` after the last element of the container.]]
+[[`` T::element_reverse_iterator T::elements_rbegin()
+T::element_const_reverse_iterator T::elements_rbegin()const``] [Returns a reverse element iterator to the last element of the container.] ]
+[[`` T::element_reverse_iterator T::elements_rend()
+T::element_const_reverse_iterator T::elements_rend()const``] [Returns a reverse element iterator to a position `elements_rend()` before the first element of the container.]]
+]
+
+[endsect][/ Element iteration]
+
+

Modified: sandbox/itl/libs/itl/doc/interface.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/interface.qbk (original)
+++ sandbox/itl/libs/itl/doc/interface.qbk 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -524,6 +524,47 @@
 [[`std::string T::as_string()`] [1] [1] [1] [1] [1] [ ] [ ]]
 ]
 
+[h4 Element iterators for interval containers]
+
+Iterators on [*interval conainers] that are refered to so far are
+['*segment iterators*]. They reveal the more implementation specific
+aspect, that the conceptual aspect abstracts from.[/ NOTE Identical to function_element_iteration.qbk from here]
+Iteration over segments is fast, compared to an iteration over elements,
+particularly if intervals are large.
+But if we want to view our interval containers as containers
+of elements that are usable with std::algoritms, we need to
+iterate over elements.
+
+Iteration over elements . . .
+
+* is possible only for integral or discrete `domain_types`
+* can be very ['*slow*] if the intervals are very large.
+* and is therefore ['*depreciated*]
+
+On the other hand, sometimes iteration over interval containers
+on the element level might be desired, if you have some
+interface that works for `std::SortedAssociativeContainers` of
+elements and you need to quickly use it with an interval container.
+Accepting the poorer performance might be less bothersome at times
+than adjusting your whole interface for segment iteration.
+
+[caution So we advice you to choose element iteration over
+interval containers ['*judiciously*]. Do not use element iteration
+['*by default or habitual*]. Always try to achieve results using
+member functions, global functions or operators
+(preferably inplace versions)
+or iteration over segments first.]
+
+
+[table Element iterators for interval containers
+[[__biLElementIteration__] [__ch_itv_sets__][__ch_itv_maps__] ]
+[[`J T::elements_begin()`] [2] [2] ]
+[[`J T::elements_end()`] [2] [2] ]
+[[`J T::elements_rbegin()`] [2] [2] ]
+[[`J T::elements_rend()`] [2] [2] ]
+]
+
+
 [endsect][/ Function Synopsis]
 
 [endsect][/ Interface]

Modified: sandbox/itl/libs/itl/doc/itl.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/itl.qbk (original)
+++ sandbox/itl/libs/itl/doc/itl.qbk 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -145,6 +145,7 @@
 [def __biLintersection__ [link boost_itl.function_reference.intersection ['*intersection*]]]
 [def __biLSymmetricDifference__ [link boost_itl.function_reference.symmetric_difference ['*Symmetric difference*]]]
 [def __biLIteratorRelated__ [link boost_itl.function_reference.iterator_related ['*Iterator related*]]]
+[def __biLElementIteration__ [link boost_itl.function_reference.element_iteration ['*Element iteration*]]]
 [def __biLStreaming__ [link boost_itl.function_reference.streaming__conversion ['*Streaming, conversion*]]]
 
 [/ column headers]

Modified: sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp
==============================================================================
--- sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp (original)
+++ sandbox/itl/libs/itl/example/large_bitset_/large_bitset.hpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -143,6 +143,7 @@
     static const word_type // 8-bit case
         digits = sizeof(word_type)*CHAR_BIT, // 8 Size of the associated bitsets
         divisor = digits , // 8 Divisor to find intervals for values
+ last = digits-1 , // 7 Last bit (0 based)
         shift = log2_<divisor>::value , // 3 To express the division as bit shift
         w1 = static_cast<word_type>(1) , // Helps to avoid static_casts for long long
         mask = divisor - w1 , // 7=11100000 Helps to express the modulo operation as bit_and
@@ -155,8 +156,8 @@
     //]
 
     //[large_bitset_bitset_filler
- static word_type from_lower_to(word_type bit){return bit==top ? all : (1<<(bit+1))-1;}
- static word_type to_upper_from(word_type bit){return bit==top ? top : ~((1<<bit)-1); }
+ static word_type from_lower_to(word_type bit){return bit==last ? all : (w1<<(bit+w1))-w1;}
+ static word_type to_upper_from(word_type bit){return bit==last ? top : ~((w1<<bit)-w1); }
     //]
 
     //[large_bitset_segment_apply

Modified: sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp (original)
+++ sandbox/itl/libs/itl/test/test_casual_/test_casual.cpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -39,29 +39,276 @@
 using namespace boost::itl;
 
 
+BOOST_AUTO_TEST_CASE(reverse_iter)
+{
+ typedef interval_bitset<int, bits8> InterBitsT;
+ InterBitsT lbs;
+
+ lbs.add(0).add(3).add(5);
+
+ InterBitsT::element_reverse_iterator rit_ = lbs.elements_rend();
+ InterBitsT::element_reverse_iterator revbeg = lbs.elements_rbegin();
+
+ cout << "{";
+ while(!(rit_ == revbeg))
+ {
+ --rit_;
+ cout << *rit_ << " ";
+ }
+ cout << "}";
+}
 
-BOOST_AUTO_TEST_CASE(casual_test)
+
+/*
+BOOST_AUTO_TEST_CASE(bitter16_forward)
 {
- typedef interval_bitset<nat, bits8> InterBits8T;
- InterBits8T lbs;
+ typedef interval_bitset<int, bits16> InterBitsT;
+ InterBitsT lbs;
 
- lbs.add(1).add(4).add(7).add(8);
+ lbs
+ .add(-50).add(-62).add(-63).add(-64).add(-65)
+ .add(-17).add(-20).add(-31).add(-32).add(-33)
+ .add(-1).add(-2).add(-4).add(-7).add(-8).add(-9).add(-15).add(-16)
+ .add(0)
+ .add(1).add(2).add(4).add(7).add(8).add(9).add(15).add(16)
+ .add(17).add(20).add(31).add(32).add(33)
+ .add(50).add(62).add(63).add(64).add(65)
+ ;
     
- InterBits8T::element_iterator it = lbs.elements_begin();
+ lbs.show_segments();
+ cout << lbs << endl;
+
+ InterBitsT::element_iterator it = lbs.elements_begin();
+ int ele;
     cout << "{";
     while(it != lbs.elements_end())
     {
- int ele = *it;
+ ele = *it;
+ cout << *it << " ";
+ if(ele == 65)
+ {
+ int dbg = 0;
+ }
+ ++it;
+ }
+ cout << "}";
+}
+
+
+BOOST_AUTO_TEST_CASE(itv_set_reverted_backwards)
+{
+ typedef interval_set<int> InterSetT;
+ InterSetT itv_set;
+
+ itv_set;
+ InterSetT::element_reverse_iterator rit;
+ rit = itv_set.elements_rend();
+ while(rit != itv_set.elements_rbegin())
+ {
+ cout << *rit << endl;
+ --rit;
+ }
+
+ itv_set.add(0).add(1).add(3);
+
+ rit = itv_set.elements_rend();
+
+ if(rit != itv_set.elements_rbegin())
+ --rit;
+
+ cout << "{";
+ while(rit != itv_set.elements_rbegin())
+ {
+ cout << *rit << " ";
+ --rit;
+ }
+
+ BOOST_ASSERT(rit == itv_set.elements_rbegin());
+ cout << *rit << "}\n";
+}
+
+
+BOOST_AUTO_TEST_CASE(itv_set_backwards)
+{
+ typedef interval_set<int> InterSetT;
+ InterSetT itv_set;
+
+ itv_set;
+ InterSetT::element_iterator rit;
+ rit = itv_set.elements_end();
+ while(rit != itv_set.elements_begin())
+ {
+ cout << *rit << endl;
+ --rit;
+ }
+
+ itv_set.add(0).add(1).add(3);
+
+ rit = itv_set.elements_end();
+
+ if(rit != itv_set.elements_begin())
+ --rit;
+
+ cout << "{";
+ while(rit != itv_set.elements_begin())
+ {
+ cout << *rit << " ";
+ --rit;
+ }
+
+ BOOST_ASSERT(rit == itv_set.elements_begin());
+ cout << *rit << "}\n";
+}
+
+
+
+BOOST_AUTO_TEST_CASE(bitter64_reverted_backwards)
+{
+ typedef interval_bitset<int, bits64> InterBitsT;
+ InterBitsT lbs;
+
+ lbs
+ .add(-50).add(-62).add(-63).add(-64).add(-65)
+ .add(-17).add(-20).add(-31).add(-32).add(-33)
+ .add(-1).add(-2).add(-4).add(-7).add(-8).add(-9).add(-15).add(-16)
+ .add(0)
+ .add(1).add(2).add(4).add(7).add(8).add(9).add(15).add(16)
+ .add(17).add(20).add(31).add(32).add(33)
+ .add(50).add(62).add(63).add(64).add(65)
+ ;
+
+ lbs.show_segments();
+ cout << lbs << endl;
+
+ InterBitsT::element_reverse_iterator it = lbs.elements_rend();
+ InterBitsT::element_reverse_iterator rbeg_eq_at_64 = lbs.elements_rbegin();
+ int ele;
+ --it;
+ cout << "{";
+ while(it != lbs.elements_rbegin())
+ {
+ ele = *it;
+ cout << *it << " ";
+ if(ele == 64)
+ {
+ int dbg = 0;
+ }
+ --it;
+ }
+ ele = *it;
+ cout << *it << " ";
+ cout << "}";
+}
+
+
+BOOST_AUTO_TEST_CASE(bitter64_reverted)
+{
+ typedef interval_bitset<int, bits64> InterBitsT;
+ InterBitsT lbs;
+
+ lbs
+ .add(-50).add(-62).add(-63).add(-64).add(-65)
+ .add(-17).add(-20).add(-31).add(-32).add(-33)
+ .add(-1).add(-2).add(-4).add(-7).add(-8).add(-9).add(-15).add(-16)
+ .add(0)
+ .add(1).add(2).add(4).add(7).add(8).add(9).add(15).add(16)
+ .add(17).add(20).add(31).add(32).add(33)
+ .add(50).add(62).add(63).add(64).add(65)
+ ;
+
+ lbs.show_segments();
+ cout << lbs << endl;
+
+ InterBitsT::element_reverse_iterator it = lbs.elements_rbegin();
+ int ele;
+ cout << "{";
+ while(it != lbs.elements_rend())
+ {
+ ele = *it;
         cout << *it << " ";
- if(ele == 8)
+ if(ele == -65)
         {
- int dbg = 1;
+ int dbg = 0;
         }
         ++it;
     }
     cout << "}";
 }
+*/
+
+/*---------------- bggy case
+BOOST_AUTO_TEST_CASE(bitter64_backwards)
+{
+ typedef interval_bitset<int, bits64> InterBitsT;
+ InterBitsT lbs;
+
+ lbs
+ .add(-50).add(-62).add(-63).add(-64).add(-65)
+ .add(-17).add(-20).add(-31).add(-32).add(-33)
+ .add(-1).add(-2).add(-4).add(-7).add(-8).add(-9).add(-15).add(-16)
+ .add(0)
+ .add(1).add(2).add(4).add(7).add(8).add(9).add(15).add(16)
+ .add(17).add(20).add(31).add(32).add(33)
+ .add(50).add(62).add(63).add(64).add(65)
+ ;
+
+ lbs.show_segments();
+ cout << lbs << endl;
+
+ InterBitsT::element_iterator it = lbs.elements_end();
+ int ele;
+ --it;
+ cout << "{";
+ while(it != lbs.elements_begin())
+ {
+ ele = *it;
+ cout << *it << " ";
+ if(ele == -65)
+ {
+ int dbg = 0;
+ }
+ --it;
+ }
+ ele = *it;
+ cout << *it << " ";
+ cout << "}";
+}
+*/
+
+/*
+BOOST_AUTO_TEST_CASE(bitter64_forward)
+{
+ typedef interval_bitset<int, bits64> InterBitsT;
+ InterBitsT lbs;
+
+ lbs
+ .add(-50).add(-62).add(-63).add(-64).add(-65)
+ .add(-17).add(-20).add(-31).add(-32).add(-33)
+ .add(-1).add(-2).add(-4).add(-7).add(-8).add(-9).add(-15).add(-16)
+ .add(0)
+ .add(1).add(2).add(4).add(7).add(8).add(9).add(15).add(16)
+ .add(17).add(20).add(31).add(32).add(33)
+ .add(50).add(62).add(63).add(64).add(65)
+ ;
+
+ lbs.show_segments();
+ cout << lbs << endl;
 
+ InterBitsT::element_iterator it = lbs.elements_begin();
+ int ele;
+ cout << "{";
+ while(it != lbs.elements_end())
+ {
+ ele = *it;
+ cout << *it << " ";
+ if(ele == 65)
+ {
+ int dbg = 0;
+ }
+ ++it;
+ }
+ cout << "}";
+}
 
 /*
 BOOST_AUTO_TEST_CASE(biter64_test)

Modified: sandbox/itl/libs/itl/test/test_type_lists.hpp
==============================================================================
--- sandbox/itl/libs/itl/test/test_type_lists.hpp (original)
+++ sandbox/itl/libs/itl/test/test_type_lists.hpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -11,7 +11,7 @@
 #include <boost/mpl/list.hpp>
 
 // interval instance types
-#include <boost/itl/gregorian.hpp>
+// #include <boost/itl/gregorian.hpp>
 #include <boost/itl/ptime.hpp>
 #include <boost/itl/rational.hpp>
 

Modified: sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj
==============================================================================
--- sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj (original)
+++ sandbox/itl/libs/validate/example/labat_itv_bitset_/vc9_labat_itv_bitset.vcproj 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -195,42 +195,6 @@
                         Filter="h;hpp;hxx;hm;inl;inc;xsd"
                         UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
- <File
- RelativePath="..\..\..\..\boost\validate\law.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\lawvalidater.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\lawviolations.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\laws\monoid.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\laws\order.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\laws\pushouts.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\realmvalidater.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\laws\set_laws.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\boost\validate\typevalidater.h"
- >
- </File>
                 </Filter>
                 <Filter
                         Name="Ressourcendateien"

Modified: sandbox/itl/libs/validate/example/labat_polygon_/labat_polygon.cpp
==============================================================================
--- sandbox/itl/libs/validate/example/labat_polygon_/labat_polygon.cpp (original)
+++ sandbox/itl/libs/validate/example/labat_polygon_/labat_polygon.cpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -101,17 +101,17 @@
     typedef itl::list<point<int> > PolygonT;
     typedef itl::list<PolygonT> PolygonSetT;
 
- point_gentor<int> pointgen;
- pointgen.setRange(interval<int>::rightopen(-99, 100));
+ point_gentor<int>* pointgen = new point_gentor<int>;
+ pointgen->setRange(interval<int>::rightopen(-99, 100));
 
     PolygonT some_poly;
- polygon_gentor<PolygonT> polygen;
- polygen.setDomainGentor(&pointgen);
- polygen.setRangeOfSampleSize(interval<int>::rightopen(1, 5));
+ polygon_gentor<PolygonT>* polygen = new polygon_gentor<PolygonT>;
+ polygen->setDomainGentor(pointgen);
+ polygen->setRangeOfSampleSize(interval<int>::rightopen(1, 5));
 
     PolygonSetT some_polyset;
     polygon_set_gentor<PolygonSetT> polysetgen;
- polysetgen.setDomainGentor(&polygen);
+ polysetgen.setDomainGentor(polygen);
     polysetgen.setRangeOfSampleSize(interval<int>::rightopen(1, 3));
 
     for(int idx=0; idx<10; idx++)
@@ -152,7 +152,10 @@
     // Size of polygon sets is in [0 .. |poly|]
     // Coordinates in [min .. max)
     // |set|,|poly|, min, max
- GentorProfileSgl::it()->set_polygon_profile(1, 3, 0, 10);
+ //GentorProfileSgl::it()->set_polygon_profile(1, 3, 0, 10);
+ //int test_count = 10000;
+ // |set|,|poly|, min, max
+ GentorProfileSgl::it()->set_polygon_profile(2, 9, 0, 100);
     int test_count = 10000;
 
     ptime start, stop;

Modified: sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp
==============================================================================
--- sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp (original)
+++ sandbox/itl/libs/validate/example/labat_single_/labat_single.cpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -22,6 +22,7 @@
 #include <boost/validate/laws/set_laws.hpp>
 #include <boost/validate/laws/minor_set_laws.hpp>
 #include <boost/validate/laws/function_equality.hpp>
+#include <boost/validate/laws/atomic_equivalence.hpp>
 
 //#include <boost/validate/laws/novial_tree.hpp>
 #include <boost/validate/laws/inversion_laws.hpp>
@@ -31,6 +32,7 @@
 #include <boost/itl/interval_set.hpp>
 #include <boost/itl/interval_map.hpp>
 #include <boost/itl/functors.hpp>
+#include <boost/itl_xt/interval_bitset.hpp>
 
 using namespace std;
 using namespace Loki;
@@ -98,22 +100,40 @@
     // <interval_set<int>, itl::interval<int> > TestLawT;
     //LawValidater<TestLawT, RandomGentor> test_law;
 
- typedef FunctionEquality
+ //typedef FunctionEquality
+ //<
+ // itl::list<std::pair<int,int> >,
+ // itl::map<int,int,partial_absorber>,
+ // base_insertion,
+ // hint_insertion
+ //> TestLawT;
+
+ //typedef UnaryAtomicEquivalence
+ //<
+ // itl::interval_bitset<int,itl::bits16>,
+ // itl::list<int>,
+ // itl::std_reverse_copy_forward
+ //> TestLawT;
+
+ typedef BinaryAtomicEquivalence
     <
- itl::list<std::pair<int,int> >,
- itl::map<int,int,partial_absorber>,
- base_insertion,
- hint_insertion
+ itl::interval_bitset<int,itl::bits16>,
+ itl::list<int>,
+ itl::std_includes_forward
> TestLawT;
+
+
     LawValidater<TestLawT, RandomGentor> test_law;
 
     //-----------------------------------------------------------------------------
- int test_count = 10000;
+ int test_count = 1000;
     ptime start, stop;
 
- GentorProfileSgl::it()->set_std_profile(4,1);
+ GentorProfileSgl::it()->set_std_profile(32,1);
     test_law.set_trials_count(test_count);
 
+ TestLawT law;
+ cout << law.typeString() << endl;
     std::cout << "Start\n";
     start = ptime(microsec_clock::local_time());
     test_law.run();

Added: sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/labat_sorted_associative_bitset.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/labat_sorted_associative_bitset.cpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -0,0 +1,39 @@
+/*-----------------------------------------------------------------------------+
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-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)
++-----------------------------------------------------------------------------*/
+#include <iostream>
+#include <stdio.h>
+
+#include <boost/validate/driver/sorted_associative_bitset_driver.hpp>
+
+using namespace std;
+using namespace Loki;
+using namespace boost;
+using namespace boost::itl;
+
+void test_sorted_associative_bitset_driver()
+{
+ sorted_associative_bitset_driver validater;
+ cout <<
+ ">> ------------------------------------------------------ <<\n"
+ ">> -------- Law based test automaton 'LaBatea' ---------- <<\n"
+ ">> Output will be generated in a few seconds\n"
+ ">> terminate by typing <CTRL>C\n"
+ ">> ------------------------------------------------------ <<\n";
+ GentorProfileSgl::it()->set_std_profile(64,1);
+ GentorProfileSgl::it()->report_profile();
+ validater.validate();
+};
+
+
+int main()
+{
+ test_sorted_associative_bitset_driver();
+ return 0;
+}

Added: sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/vc9_labat_sorted_associative_bitset.vcproj
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_bitset_/vc9_labat_sorted_associative_bitset.vcproj 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_labat_sorted_associative_bitset"
+ ProjectGUID="{BF42574F-66E2-42DD-90D9-3A8FCE6F4764}"
+ RootNamespace="vc9_labat_sorted_associative_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"
+ AdditionalOptions="/bigobj"
+ 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"
+ 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"
+ WholeProgramOptimization="true"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ ExceptionHandling="1"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ LinkTimeCodeGeneration="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>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Quelldateien"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\src\gentor\gentorprofile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\labat_sorted_associative_bitset_\labat_sorted_associative_bitset.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Headerdateien"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\validate\validater\sorted_associative_validater.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Ressourcendateien"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Added: sandbox/itl/libs/validate/example/labat_sorted_associative_map_/labat_sorted_associative_map.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_map_/labat_sorted_associative_map.cpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -0,0 +1,39 @@
+/*-----------------------------------------------------------------------------+
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-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)
++-----------------------------------------------------------------------------*/
+#include <iostream>
+#include <stdio.h>
+
+#include <boost/validate/driver/sorted_associative_map_driver.hpp>
+
+using namespace std;
+using namespace Loki;
+using namespace boost;
+using namespace boost::itl;
+
+void test_sorted_associative_map_driver()
+{
+ sorted_associative_map_driver validater;
+ cout <<
+ ">> ------------------------------------------------------ <<\n"
+ ">> -------- Law based test automaton 'LaBatea' ---------- <<\n"
+ ">> Output will be generated in a few seconds\n"
+ ">> terminate by typing <CTRL>C\n"
+ ">> ------------------------------------------------------ <<\n";
+ GentorProfileSgl::it()->set_std_profile(16,1);
+ GentorProfileSgl::it()->report_profile();
+ validater.validate();
+};
+
+
+int main()
+{
+ test_sorted_associative_map_driver();
+ return 0;
+}

Added: sandbox/itl/libs/validate/example/labat_sorted_associative_map_/vc9_labat_sorted_associative_map.vcproj
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_map_/vc9_labat_sorted_associative_map.vcproj 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_labat_sorted_associative_map"
+ ProjectGUID="{BF42574F-66E2-42DD-90D9-3A8FCE6F4762}"
+ RootNamespace="vc9_labat_sorted_associative_map"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="../../../../bin/debug"
+ IntermediateDirectory="../../../../bin/obj/$(ProjectName)/debug"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/bigobj"
+ 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"
+ 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"
+ WholeProgramOptimization="true"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ ExceptionHandling="1"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ LinkTimeCodeGeneration="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>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Quelldateien"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\src\gentor\gentorprofile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\labat_sorted_associative_map_\labat_sorted_associative_map.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Headerdateien"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\..\boost\validate\law.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\lawvalidater.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\lawviolations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\laws\monoid.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\laws\order.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\laws\pushouts.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\laws\set_laws.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\typevalidater.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\boost\validate\sorted_associative_map_validater.hpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Ressourcendateien"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Added: sandbox/itl/libs/validate/example/labat_sorted_associative_set_/labat_sorted_associative_set.cpp
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_set_/labat_sorted_associative_set.cpp 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -0,0 +1,39 @@
+/*-----------------------------------------------------------------------------+
+A Law Based Test Automaton 'LaBatea'
+Author: Joachim Faulhaber
+Copyright (c) 2007-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)
++-----------------------------------------------------------------------------*/
+#include <iostream>
+#include <stdio.h>
+
+#include <boost/validate/driver/sorted_associative_set_driver.hpp>
+
+using namespace std;
+using namespace Loki;
+using namespace boost;
+using namespace boost::itl;
+
+void test_sorted_associative_set_driver()
+{
+ sorted_associative_set_driver validater;
+ cout <<
+ ">> ------------------------------------------------------ <<\n"
+ ">> -------- Law based test automaton 'LaBatea' ---------- <<\n"
+ ">> Output will be generated in a few seconds\n"
+ ">> terminate by typing <CTRL>C\n"
+ ">> ------------------------------------------------------ <<\n";
+ GentorProfileSgl::it()->set_std_profile(64,1);
+ GentorProfileSgl::it()->report_profile();
+ validater.validate();
+};
+
+
+int main()
+{
+ test_sorted_associative_set_driver();
+ return 0;
+}

Added: sandbox/itl/libs/validate/example/labat_sorted_associative_set_/vc9_labat_sorted_associative_set.vcproj
==============================================================================
--- (empty file)
+++ sandbox/itl/libs/validate/example/labat_sorted_associative_set_/vc9_labat_sorted_associative_set.vcproj 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="vc9_labat_sorted_associative_set"
+ ProjectGUID="{BF42574F-66E2-42DD-90D9-3A8FCE6F4763}"
+ RootNamespace="vc9_labat_sorted_associative_set"
+ 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"
+ AdditionalOptions="/bigobj"
+ 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"
+ 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"
+ WholeProgramOptimization="true"
+ AdditionalIncludeDirectories="../../../../; ../../../../boost_1_35_0"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ ExceptionHandling="1"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../../../lib; ../../../../stage/lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ LinkTimeCodeGeneration="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>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Quelldateien"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\src\gentor\gentorprofile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\labat_sorted_associative_set_\labat_sorted_associative_set.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Headerdateien"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Ressourcendateien"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>

Modified: sandbox/itl/libs/validate/example/vc9_validate_examples.sln
==============================================================================
--- sandbox/itl/libs/validate/example/vc9_validate_examples.sln (original)
+++ sandbox/itl/libs/validate/example/vc9_validate_examples.sln 2009-11-30 05:44:09 EST (Mon, 30 Nov 2009)
@@ -9,6 +9,14 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_bit_collector", "labat_bit_collector_\vc9_labat_bit_collector.vcproj", "{9EF72937-0585-487D-B887-5359BFA569E9}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_single", "labat_single_\vc9_labat_single.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F471C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_sorted_associative_map", "labat_sorted_associative_map_\vc9_labat_sorted_associative_map.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F4762}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_sorted_associative_set", "labat_sorted_associative_set_\vc9_labat_sorted_associative_set.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F4763}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_labat_sorted_associative_bitset", "labat_sorted_associative_bitset_\vc9_labat_sorted_associative_bitset.vcproj", "{BF42574F-66E2-42DD-90D9-3A8FCE6F4764}"
+EndProject
 Global
         GlobalSection(SolutionConfigurationPlatforms) = preSolution
                 Debug|Win32 = Debug|Win32
@@ -31,6 +39,22 @@
                 {9EF72937-0585-487D-B887-5359BFA569E9}.Debug|Win32.Build.0 = Debug|Win32
                 {9EF72937-0585-487D-B887-5359BFA569E9}.Release|Win32.ActiveCfg = Release|Win32
                 {9EF72937-0585-487D-B887-5359BFA569E9}.Release|Win32.Build.0 = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F471C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F471C}.Debug|Win32.Build.0 = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F471C}.Release|Win32.ActiveCfg = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F471C}.Release|Win32.Build.0 = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4762}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4762}.Debug|Win32.Build.0 = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4762}.Release|Win32.ActiveCfg = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4762}.Release|Win32.Build.0 = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4763}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4763}.Debug|Win32.Build.0 = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4763}.Release|Win32.ActiveCfg = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4763}.Release|Win32.Build.0 = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4764}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4764}.Debug|Win32.Build.0 = Debug|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4764}.Release|Win32.ActiveCfg = Release|Win32
+ {BF42574F-66E2-42DD-90D9-3A8FCE6F4764}.Release|Win32.Build.0 = Release|Win32
         EndGlobalSection
         GlobalSection(SolutionProperties) = preSolution
                 HideSolutionNode = FALSE


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