|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r76155 - in trunk: boost/icl boost/icl/type_traits libs/icl/test libs/icl/test/fastest_icl_interval_ libs/icl/test/fastest_icl_map_ libs/icl/test/fastest_interval_map_mixed_ libs/icl/test/fastest_set_interval_set_ libs/icl/test/test_combinable_ libs/icl/test/test_type_traits_
From: afojgo_at_[hidden]
Date: 2011-12-25 14:14:26
Author: jofaber
Date: 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
New Revision: 76155
URL: http://svn.boost.org/trac/boost/changeset/76155
Log:
Added move emulation.
Text files modified:
trunk/boost/icl/impl_config.hpp | 38 +++--
trunk/boost/icl/interval_base_map.hpp | 22 --
trunk/boost/icl/interval_base_set.hpp | 44 ++++-
trunk/boost/icl/interval_map.hpp | 37 +++-
trunk/boost/icl/interval_set.hpp | 17 ++
trunk/boost/icl/map.hpp | 62 ++++----
trunk/boost/icl/separate_interval_set.hpp | 29 +++
trunk/boost/icl/set.hpp | 10
trunk/boost/icl/split_interval_map.hpp | 51 ++++--
trunk/boost/icl/split_interval_set.hpp | 28 +++
trunk/boost/icl/type_traits/is_discrete.hpp | 1
trunk/libs/icl/test/Jamfile.v2 | 2
trunk/libs/icl/test/fastest_icl_interval_/fastest_icl_interval.cpp | 34 ++--
trunk/libs/icl/test/fastest_icl_map_/fastest_icl_map_cases.hpp | 12 +
trunk/libs/icl/test/fastest_interval_map_cases.hpp | 4
trunk/libs/icl/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp | 4
trunk/libs/icl/test/fastest_interval_set_cases.hpp | 4
trunk/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set_cases.hpp | 28 +-
trunk/libs/icl/test/test_combinable_/test_combinable.cpp | 16 +-
trunk/libs/icl/test/test_icl_map.hpp | 58 +++++---
trunk/libs/icl/test/test_interval_map_shared.hpp | 13
trunk/libs/icl/test/test_interval_set_shared.hpp | 23 +++
trunk/libs/icl/test/test_type_traits_/test_type_traits.cpp | 6
trunk/libs/icl/test/vc9_icl_fast_tests.sln | 282 +++++++++++++++++++--------------------
24 files changed, 489 insertions(+), 336 deletions(-)
Modified: trunk/boost/icl/impl_config.hpp
==============================================================================
--- trunk/boost/icl/impl_config.hpp (original)
+++ trunk/boost/icl/impl_config.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -10,33 +10,39 @@
#define BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
/*-----------------------------------------------------------------------------+
-You can choose an implementation for the basic set and map classes.
-Select at most ONE of the following defines
+| You can choose an implementation for the basic set and map classes. |
+| Select at most ONE of the following defines to change the default |
+-----------------------------------------------------------------------------*/
-//#define ICL_USE_STD_IMPLEMENTATION
-//#define ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION
-//#define ICL_USE_BOOST_MOVE_IMPLEMENTATION
+//#define ICL_USE_STD_IMPLEMENTATION // Default
+//#define ICL_USE_BOOST_MOVE_IMPLEMENTATION // Enables Move semantics for ICL
+// ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION // No longer available
/*-----------------------------------------------------------------------------+
-NO define or ICL_USE_STD_IMPLEMENTATION: Choose std::set and std::map as
- implementing containers (default).
-
-ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION: Choose set and map implementations
- from boost::interprocess.
-
-ICL_USE_BOOST_MOVE_IMPLEMENTATION: Move aware containers from boost::container.
+| NO define or ICL_USE_STD_IMPLEMENTATION: Choose std::set and std::map from |
+| your local std implementation as basic containers of elements (DEFAULT). |
+| |
+| ICL_USE_BOOST_MOVE_IMPLEMENTATION: |
+| Move aware containers from boost::container. Choosing boost containers |
+| enables move semantics for ICL. |
+| |
+| NOTE: ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION: This define has been |
+| available until boost version 1.48.0 and is no longer supported. |
+-----------------------------------------------------------------------------*/
-#if defined(ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION)
-# define ICL_IMPL_SPACE boost::interprocess
-#elif defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
+#if defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
# define ICL_IMPL_SPACE boost::container
-# define BOOST_ICL_IS_MOVE_AWARE
+#elif defined(ICL_USE_STD_IMPLEMENTATION)
+# define ICL_IMPL_SPACE std
#else
# define ICL_IMPL_SPACE std
#endif
+/*-----------------------------------------------------------------------------+
+| Move emulation is used since version 1.49.0 |
++-----------------------------------------------------------------------------*/
+#include <boost/move/move.hpp>
+
#endif // BOOST_ICL_IMPL_CONFIG_HPP_JOFA_091225
Modified: trunk/boost/icl/interval_base_map.hpp
==============================================================================
--- trunk/boost/icl/interval_base_map.hpp (original)
+++ trunk/boost/icl/interval_base_map.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -192,9 +192,7 @@
BOOST_STATIC_CONSTANT(int, fineness = 0);
-# ifdef BOOST_ICL_IS_MOVE_AWARE
BOOST_COPYABLE_AND_MOVABLE(interval_base_map)
-# endif
public:
@@ -219,40 +217,34 @@
BOOST_CONCEPT_ASSERT((EqualComparableConcept<CodomainT>));
}
-# ifdef BOOST_ICL_IS_MOVE_AWARE
+ //==========================================================================
+ //= Move emulation
+ //==========================================================================
+
/** Move constructor */
interval_base_map(BOOST_RV_REF(interval_base_map) src): _map(boost::move(src._map))
{
- std::cout << "."; //CL
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<CodomainT>));
BOOST_CONCEPT_ASSERT((EqualComparableConcept<CodomainT>));
}
- /** Copy assignment operator */
- interval_base_map& operator = (BOOST_COPY_ASSIGN_REF(interval_base_map) src)
- {
- this->_map = src._map;
- return *this;
- }
-
/** Move assignment operator */
interval_base_map& operator = (BOOST_RV_REF(interval_base_map) src)
{
- std::cout << ":"; //CL
this->_map = boost::move(src._map);
return *this;
}
-# else //BOOST_ICL_IS_MOVE_AWARE
/** Copy assignment operator */
- interval_base_map& operator = (const interval_base_map& src)
+ interval_base_map& operator = (BOOST_COPY_ASSIGN_REF(interval_base_map) src)
{
this->_map = src._map;
return *this;
}
-# endif //BOOST_ICL_IS_MOVE_AWARE
+
+ //==========================================================================
/** swap the content of containers */
void swap(interval_base_map& object) { _map.swap(object._map); }
Modified: trunk/boost/icl/interval_base_set.hpp
==============================================================================
--- trunk/boost/icl/interval_base_set.hpp (original)
+++ trunk/boost/icl/interval_base_set.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -11,13 +11,12 @@
#include <boost/icl/impl_config.hpp>
-#if defined(ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION)
-#include <boost/interprocess/containers/set.hpp>
-#elif defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
-#include <boost/container/set.hpp>
-#include <boost/move/move.hpp> //MOV JODO URG
-#else
-#include <set>
+#if defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
+# include <boost/container/set.hpp>
+#elif defined(ICL_USE_STD_IMPLEMENTATION)
+# include <set>
+#else // Default for implementing containers
+# include <boost/container/set.hpp>
#endif
#include <limits>
@@ -163,15 +162,40 @@
interval_base_set(){}
/** Copy constructor */
- interval_base_set(const interval_base_set& src): _set(src._set){}
+ interval_base_set(const interval_base_set& src): _set(src._set)
+ {
+ BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
+ BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
+ }
+
+ //==========================================================================
+ //= Move emulation
+ //==========================================================================
+
+ /** Move constructor */
+ interval_base_set(BOOST_RV_REF(interval_base_set) src): _map(boost::move(src._map))
+ {
+ BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
+ BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
+ }
- /** Assignment operator */
- interval_base_set& operator = (const interval_base_set& src)
+ /** Move assignment operator */
+ interval_base_set& operator = (BOOST_RV_REF(interval_base_set) src)
+ {
+ this->_set = boost::move(src._set);
+ return *this;
+ }
+
+ /** Copy assignment operator */
+ interval_base_set& operator = (BOOST_COPY_ASSIGN_REF(interval_base_set) src)
{
this->_set = src._set;
return *this;
}
+ //==========================================================================
+
+
/** swap the content of containers */
void swap(interval_base_set& operand) { _set.swap(operand._set); }
Modified: trunk/boost/icl/interval_map.hpp
==============================================================================
--- trunk/boost/icl/interval_map.hpp (original)
+++ trunk/boost/icl/interval_map.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -68,9 +68,7 @@
enum { fineness = 1 };
-# ifdef BOOST_ICL_IS_MOVE_AWARE
BOOST_COPYABLE_AND_MOVABLE(interval_map)
-# endif
public:
//==========================================================================
@@ -83,12 +81,6 @@
/// Copy constructor
interval_map(const interval_map& src): base_type(src) {}
-# ifdef BOOST_ICL_IS_MOVE_AWARE
- /// Move constructor
- interval_map(BOOST_RV_REF(interval_map) src)
- : base_type(boost::move(static_cast<base_type&>(src))){}
-# endif //BOOST_ICL_IS_MOVE_AWARE
-
/// Copy constructor for base_type
template<class SubType>
explicit interval_map
@@ -102,11 +94,9 @@
explicit interval_map(const value_type& value_pair): base_type()
{ this->add(value_pair); }
+
/// Assignment operator
- template<class SubType>
- interval_map& operator =
- (const interval_base_map<SubType,DomainT,CodomainT,
- Traits,Compare,Combine,Section,Interval,Alloc>& src)
+ interval_map& operator = (const split_type& src)
{ this->assign(src); return *this; }
/// Assignment from a base interval_map.
@@ -122,6 +112,29 @@
prior_ = this->add(prior_, *it_);
}
+ //==========================================================================
+ //= Move emulation
+ //==========================================================================
+
+ /// Move constructor
+ interval_map(BOOST_RV_REF(interval_map) src)
+ : base_type(boost::move(static_cast<base_type&>(src)))
+ {}
+
+ /// Move assignment operator
+ interval_map& operator = (BOOST_RV_REF(interval_map) src)
+ {
+ base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ return *this;
+ }
+
+ /// Copy assignment operator
+ interval_map& operator = (BOOST_COPY_ASSIGN_REF(interval_map) src)
+ {
+ base_type::operator=(src);
+ return *this;
+ }
+
private:
// Private functions that shall be accessible by the baseclass:
friend class
Modified: trunk/boost/icl/interval_set.hpp
==============================================================================
--- trunk/boost/icl/interval_set.hpp (original)
+++ trunk/boost/icl/interval_set.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -87,6 +87,8 @@
enum { fineness = 1 };
+ BOOST_COPYABLE_AND_MOVABLE(interval_set)
+
public:
//==========================================================================
//= Construct, copy, destruct
@@ -135,6 +137,21 @@
prior_ = this->add(prior_, *it_);
}
+ //==========================================================================
+ //= Move emulation
+ //==========================================================================
+
+ /// Move constructor
+ interval_set(BOOST_RV_REF(interval_set) src)
+ : base_type(boost::move(static_cast<base_type&>(src)))
+ {}
+
+ /// Move assignment operator
+ interval_set& operator = (BOOST_RV_REF(interval_set) src)
+ {
+ base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ return *this;
+ }
private:
// Private functions that shall be accessible by the baseclass:
Modified: trunk/boost/icl/map.hpp
==============================================================================
--- trunk/boost/icl/map.hpp (original)
+++ trunk/boost/icl/map.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -10,18 +10,15 @@
#include <boost/icl/impl_config.hpp>
-#if defined(ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION)
-#include <boost/interprocess/containers/map.hpp>
-#include <boost/interprocess/containers/set.hpp>
-#include <boost/interprocess/containers/flat_set.hpp> //FLAS JODO URG
-#include <boost/interprocess/containers/flat_map.hpp> //FLAS
-#elif defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
-#include <boost/container/map.hpp>
-#include <boost/container/set.hpp>
-#include <boost/move/move.hpp> //MOV JODO URG <boost/icl/move.hpp>
-#else
-#include <map>
-#include <set>
+#if defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
+# include <boost/container/map.hpp>
+# include <boost/container/set.hpp>
+#elif defined(ICL_USE_STD_IMPLEMENTATION)
+# include <map>
+# include <set>
+#else // Default for implementing containers
+# include <map>
+# include <set>
#endif
#include <string>
@@ -158,9 +155,7 @@
BOOST_STATIC_CONSTANT(int, fineness = 4);
-# ifdef BOOST_ICL_IS_MOVE_AWARE
BOOST_COPYABLE_AND_MOVABLE(map)
-# endif
public:
//==========================================================================
@@ -194,43 +189,36 @@
BOOST_CONCEPT_ASSERT((EqualComparableConcept<CodomainT>));
}
-# ifdef BOOST_ICL_IS_MOVE_AWARE
+ explicit map(const element_type& key_value_pair): base_type::map()
+ {
+ insert(key_value_pair);
+ }
+
+ //=============================================================================
+ //= Move emulation
+ //=============================================================================
+
map(BOOST_RV_REF(map) src)
: base_type(boost::move(static_cast<base_type&>(src)))
{
- std::cout << "m.";//CL
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<CodomainT>));
BOOST_CONCEPT_ASSERT((EqualComparableConcept<CodomainT>));
}
-# endif //BOOST_ICL_IS_MOVE_AWARE
- explicit map(const element_type& key_value_pair): base_type::map()
+ map& operator = (BOOST_RV_REF(map) src)
{
- insert(key_value_pair);
- }
-
-# ifdef BOOST_ICL_IS_MOVE_AWARE
- map& operator=(BOOST_RV_REF(map) src)
- {
- std::cout << "m=";//CL
base_type::operator=(static_cast<base_type&>(src));
return *this;
}
- map& operator=(BOOST_COPY_ASSIGN_REF(map) src)
- {
- base_type::operator=(static_cast<const base_type&>(src));
- return *this;
- }
-# else
- map& operator=(const map& src)
+ map& operator = (BOOST_COPY_ASSIGN_REF(map) src)
{
base_type::operator=(static_cast<const base_type&>(src));
return *this;
}
-# endif //BOOST_ICL_IS_MOVE_AWARE
+ //==========================================================================
void swap(map& src) { base_type::swap(src); }
@@ -347,6 +335,14 @@
return base_type::insert(prior, value_pair);
}
+ template<class Iterator>
+ iterator insert(Iterator first, Iterator last)
+ {
+ iterator prior = end(), it = first;
+ while(it != last)
+ prior = this->insert(prior, *it++);
+ }
+
/** With <tt>key_value_pair = (k,v)</tt> set value \c v for key \c k */
map& set(const element_type& key_value_pair)
{
Modified: trunk/boost/icl/separate_interval_set.hpp
==============================================================================
--- trunk/boost/icl/separate_interval_set.hpp (original)
+++ trunk/boost/icl/separate_interval_set.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -82,9 +82,10 @@
/// const_iterator for iteration over intervals
typedef typename ImplSetT::const_iterator const_iterator;
-
enum { fineness = 2 };
+ BOOST_COPYABLE_AND_MOVABLE(separate_interval_set)
+
public:
//==========================================================================
//= Construct, copy, destruct
@@ -120,8 +121,32 @@
template<class SubType>
void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
{
+ typedef typename
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc> src_type;
+
this->clear();
- this->_set.insert(src.begin(), src.end());
+ //this->_set.insert(src.begin(), src.end()); //JODO range-insert is not working with Boost.Containers
+ iterator prior_ = this->end();
+ typename src_type::const_iterator it_ = src.begin();
+
+ while(it_ != src.end())
+ prior_ = this->_set.insert(prior_, *it_++);
+ }
+
+ //==========================================================================
+ //= Move emulation
+ //==========================================================================
+
+ /// Move constructor
+ separate_interval_set(BOOST_RV_REF(separate_interval_set) src)
+ : base_type(boost::move(static_cast<base_type&>(src)))
+ {}
+
+ /// Move assignment operator
+ separate_interval_set& operator = (BOOST_RV_REF(separate_interval_set) src)
+ {
+ base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ return *this;
}
Modified: trunk/boost/icl/set.hpp
==============================================================================
--- trunk/boost/icl/set.hpp (original)
+++ trunk/boost/icl/set.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -10,12 +10,12 @@
#include <boost/icl/impl_config.hpp>
-#if defined(ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION)
-#include <boost/interprocess/containers/set.hpp>
-#elif defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
-#include <boost/container/set.hpp>
+#if defined(ICL_USE_BOOST_MOVE_IMPLEMENTATION)
+# include <boost/container/set.hpp>
+#elif defined(ICL_USE_STD_IMPLEMENTATION)
+# include <set>
#else
-#include <set>
+# include <set>
#endif
#include <boost/icl/concept/associative_element_container.hpp>
Modified: trunk/boost/icl/split_interval_map.hpp
==============================================================================
--- trunk/boost/icl/split_interval_map.hpp (original)
+++ trunk/boost/icl/split_interval_map.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -62,9 +62,7 @@
enum { fineness = 3 };
-# ifdef BOOST_ICL_IS_MOVE_AWARE
BOOST_COPYABLE_AND_MOVABLE(split_interval_map)
-# endif
public:
//==========================================================================
@@ -76,12 +74,6 @@
/// Copy constructor
split_interval_map(const split_interval_map& src): base_type(src) {}
-# ifdef BOOST_ICL_IS_MOVE_AWARE
- /// Move constructor
- split_interval_map(BOOST_RV_REF(split_interval_map) src)
- : base_type(boost::move(static_cast<base_type&>(src))){}
-# endif
-
explicit split_interval_map(domain_mapping_type& base_pair): base_type()
{ this->add(base_pair); }
@@ -90,27 +82,50 @@
/// Copy assignment operator
template<class SubType>
- split_interval_map& operator =
- (const interval_base_map<SubType,DomainT,CodomainT,
- Traits,Compare,Combine,Section,Interval,Alloc>& src)
+ split_interval_map& operator = (const joint_type& src)
{ this->assign(src); return *this; }
-
/// Assignment from a base interval_map.
template<class SubType>
void assign(const interval_base_map<SubType,DomainT,CodomainT,
Traits,Compare,Combine,Section,Interval,Alloc>& src)
{
- this->clear();
- this->_map.insert(src.begin(), src.end()); //JODO URG new boost.container compiler problem
- /*hack
typedef typename
interval_base_map<SubType,DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc> src_type;
- ICL_const_FORALL(src_type, it_, src)
- this->insert(*it_);
- */
+
+ this->clear();
+ //this->_map.insert(src.begin(), src.end()); //JODO range-insert is not working with Boost.Containers
+ iterator prior_ = this->end();
+ typename src_type::const_iterator it_ = src.begin();
+
+ while(it_ != src.end())
+ prior_ = this->_map.insert(prior_, *it_++);
+ }
+
+ //==========================================================================
+ //= Move emulation
+ //==========================================================================
+
+ /// Move constructor
+ split_interval_map(BOOST_RV_REF(split_interval_map) src)
+ : base_type(boost::move(static_cast<base_type&>(src)))
+ {}
+
+ /// Move assignment operator
+ split_interval_map& operator = (BOOST_RV_REF(split_interval_map) src)
+ {
+ base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ return *this;
}
+ /// Copy assignment operator
+ split_interval_map& operator = (BOOST_COPY_ASSIGN_REF(split_interval_map) src)
+ {
+ base_type::operator=(src);
+ return *this;
+ }
+
+
private:
// Private functions that shall be accessible by the baseclass:
friend class
Modified: trunk/boost/icl/split_interval_set.hpp
==============================================================================
--- trunk/boost/icl/split_interval_set.hpp (original)
+++ trunk/boost/icl/split_interval_set.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -83,6 +83,8 @@
enum { fineness = 3 };
+ BOOST_COPYABLE_AND_MOVABLE(split_interval_set)
+
public:
//==========================================================================
//= Construct, copy, destruct
@@ -114,8 +116,32 @@
template<class SubType>
void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
{
+ typedef typename
+ interval_base_set<SubType,DomainT,Compare,Interval,Alloc> src_type;
+
this->clear();
- this->_set.insert(src.begin(), src.end());
+ //this->_set.insert(src.begin(), src.end()); //JODO range-insert is not working with Boost.Containers
+ iterator prior_ = this->end();
+ typename src_type::const_iterator it_ = src.begin();
+
+ while(it_ != src.end())
+ prior_ = this->_set.insert(prior_, *it_++);
+ }
+
+ //==========================================================================
+ //= Move emulation
+ //==========================================================================
+
+ /// Move constructor
+ split_interval_set(BOOST_RV_REF(split_interval_set) src)
+ : base_type(boost::move(static_cast<base_type&>(src)))
+ {}
+
+ /// Move assignment operator
+ split_interval_set& operator = (BOOST_RV_REF(split_interval_set) src)
+ {
+ base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ return *this;
}
Modified: trunk/boost/icl/type_traits/is_discrete.hpp
==============================================================================
--- trunk/boost/icl/type_traits/is_discrete.hpp (original)
+++ trunk/boost/icl/type_traits/is_discrete.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -50,7 +50,6 @@
<
has_rep_type<Type>
, is_discrete<typename rep_type_of<Type>::type>
- //CL , is_non_floating_point<typename rep_type_of<Type>::type>
>
>
>::value
Modified: trunk/libs/icl/test/Jamfile.v2
==============================================================================
--- trunk/libs/icl/test/Jamfile.v2 (original)
+++ trunk/libs/icl/test/Jamfile.v2 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -82,7 +82,7 @@
#[ run test_casual_/test_casual.cpp ]
- # ------------------------------------------------------------------------
+ # ========================================================================
# Chrono -----------------------------------------------------------------
# interval
[ run fastest_icl_interval_/fastest_icl_interval.cpp
Modified: trunk/libs/icl/test/fastest_icl_interval_/fastest_icl_interval.cpp
==============================================================================
--- trunk/libs/icl/test/fastest_icl_interval_/fastest_icl_interval.cpp (original)
+++ trunk/libs/icl/test/fastest_icl_interval_/fastest_icl_interval.cpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -40,34 +40,34 @@
//= Traits
//==============================================================================
BOOST_AUTO_TEST_CASE
-(fastest_itl_discrete_interval_traits)
+(fastest_icl_discrete_interval_traits)
{ discrete_interval_traits<discrete_type_1, discrete_interval<discrete_type_1> >(); }
//==============================================================================
//- sta.asy.{dis|con} ----------------------------------------------------------
BOOST_AUTO_TEST_CASE
-(fastest_itl_right_open_interval_ctor_4_ordered_types)
+(fastest_icl_right_open_interval_ctor_4_ordered_types)
{ interval_ctor_4_ordered_types<right_open_interval<ordered_type_1> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_right_open_interval_4_ordered_types)
+(fastest_icl_right_open_interval_4_ordered_types)
{ singelizable_interval_4_ordered_types<right_open_interval<discrete_type_1> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_right_open_interval_4_bicremental_types)
+(fastest_icl_right_open_interval_4_bicremental_types)
{ singelizable_interval_4_bicremental_types<right_open_interval<discrete_type_2> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_left_open_interval_ctor_4_ordered_types)
+(fastest_icl_left_open_interval_ctor_4_ordered_types)
{ interval_ctor_4_ordered_types<left_open_interval<ordered_type_2> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_left_open_interval_4_ordered_types_singelizable)
+(fastest_icl_left_open_interval_4_ordered_types_singelizable)
{ singelizable_interval_4_ordered_types<left_open_interval<signed_discrete_type_1> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_left_open_interval_4_bicremental_types)
+(fastest_icl_left_open_interval_4_bicremental_types)
{ singelizable_interval_4_bicremental_types<left_open_interval<discrete_type_4> >(); }
//- coverables -----------------------------------------------------------------
@@ -81,47 +81,47 @@
//- dyn.dis --------------------------------------------------------------------
BOOST_AUTO_TEST_CASE
-(fastest_itl_discrete_interval_ctor_4_discrete_types_base)
+(fastest_icl_discrete_interval_ctor_4_discrete_types_base)
{ interval_ctor_4_ordered_types<discrete_interval<discrete_type_1> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_discrete_interval_ctor_4_discrete_types_dynamic)
+(fastest_icl_discrete_interval_ctor_4_discrete_types_dynamic)
{ dynamic_interval_ctor_4_ordered_types<discrete_interval<discrete_type_2> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_discrete_interval_4_ordered_types)
+(fastest_icl_discrete_interval_4_ordered_types)
{ singelizable_interval_4_ordered_types<discrete_interval<discrete_type_3> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_discrete_interval_4_bicremental_types)
+(fastest_icl_discrete_interval_4_bicremental_types)
{ singelizable_interval_4_bicremental_types<discrete_interval<discrete_type_3> >(); }
//- dyn.con --------------------------------------------------------------------
BOOST_AUTO_TEST_CASE
-(fastest_itl_continuous_interval_ctor_4_continuous_types_base)
+(fastest_icl_continuous_interval_ctor_4_continuous_types_base)
{ interval_ctor_4_ordered_types<continuous_interval<continuous_type_1> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_continuous_interval_ctor_4_continuous_types_dynamic)
+(fastest_icl_continuous_interval_ctor_4_continuous_types_dynamic)
{ dynamic_interval_ctor_4_ordered_types<continuous_interval<continuous_type_2> >(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_continuous_interval_4_continuous_types_singelizable)
+(fastest_icl_continuous_interval_4_continuous_types_singelizable)
{ singelizable_interval_4_ordered_types<continuous_interval<continuous_type_3> >(); }
//------------------------------------------------------------------------------
BOOST_AUTO_TEST_CASE
-(fastest_itl_distant_intervals_4_discrete_types)
+(fastest_icl_distant_intervals_4_discrete_types)
{ distant_intervals_4_discrete_types<discrete_type_1, std::less>(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_distant_intervals_4_numeric_continuous_types)
+(fastest_icl_distant_intervals_4_numeric_continuous_types)
{ distant_intervals_4_numeric_continuous_types<numeric_continuous_type_1, std::less>(); }
//------------------------------------------------------------------------------
BOOST_AUTO_TEST_CASE
-(fastest_itl_dynamic_interval_bounds_4_bicremental_types)
+(fastest_icl_dynamic_interval_bounds_4_bicremental_types)
{ dynamic_interval_bounds_4_bicremental_types<bicremental_type_2>(); }
//==============================================================================
Modified: trunk/libs/icl/test/fastest_icl_map_/fastest_icl_map_cases.hpp
==============================================================================
--- trunk/libs/icl/test/fastest_icl_map_/fastest_icl_map_cases.hpp (original)
+++ trunk/libs/icl/test/fastest_icl_map_/fastest_icl_map_cases.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -9,11 +9,15 @@
#define BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701
BOOST_AUTO_TEST_CASE
-(fastest_itl_itl_map_contains_4_bicremental_types)
-{ itl_map_contains_4_bicremental_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();}
+(fastest_icl_icl_map_contains_4_bicremental_types)
+{ icl_map_contains_4_bicremental_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_itl_map_find_4_bicremental_types)
-{ itl_map_find_4_bicremental_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();}
+(fastest_icl_icl_map_find_4_bicremental_types)
+{ icl_map_find_4_bicremental_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();}
+
+BOOST_AUTO_TEST_CASE
+(fastest_icl_icl_map_move_4_discrete_types)
+{ icl_map_move_4_discrete_types<discrete_type_1, int, partial_absorber, INTERVAL_MAP>();}
#endif // BOOST_ICL_TEST_ICL_MAP_CASES_HPP_JOFA_090701
Modified: trunk/libs/icl/test/fastest_interval_map_cases.hpp
==============================================================================
--- trunk/libs/icl/test/fastest_interval_map_cases.hpp (original)
+++ trunk/libs/icl/test/fastest_interval_map_cases.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -93,8 +93,8 @@
{ interval_map_intersects_4_bicremental_types<INTERVAL_MAP, bicremental_type_3, int>();}
BOOST_AUTO_TEST_CASE
-(fastest_icl_interval_map_move_4_bicremental_types)
-{ interval_map_move_4_bicremental_types<INTERVAL_MAP, bicremental_type_1, double>();}
+(fastest_icl_interval_map_move_4_discrete_types)
+{ interval_map_move_4_discrete_types<INTERVAL_MAP, discrete_type_1, double>();}
#endif // BOOST_ICL_FASTEST_INTERVAL_MAP_CASES_HPP_JOFA_090702
Modified: trunk/libs/icl/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp
==============================================================================
--- trunk/libs/icl/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp (original)
+++ trunk/libs/icl/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -54,10 +54,10 @@
{ interval_map_mixed_equal_4_bicremental_types<bicremental_type_3, int>(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_partial_interval_map_mixed_inclusion_compare_4_bicremental_types)
+(fastest_icl_partial_interval_map_mixed_inclusion_compare_4_bicremental_types)
{ partial_interval_map_mixed_inclusion_compare_4_bicremental_types<bicremental_type_4, int, partial_absorber>(); }
BOOST_AUTO_TEST_CASE
-(fastest_itl_partial_interval_map_mixed_contains_4_bicremental_types)
+(fastest_icl_partial_interval_map_mixed_contains_4_bicremental_types)
{ partial_interval_map_mixed_contains_4_bicremental_types<int, int, partial_absorber>(); }
Modified: trunk/libs/icl/test/fastest_interval_set_cases.hpp
==============================================================================
--- trunk/libs/icl/test/fastest_interval_set_cases.hpp (original)
+++ trunk/libs/icl/test/fastest_interval_set_cases.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -68,6 +68,10 @@
(fastest_icl_interval_set_range_4_discrete_types)
{ interval_set_range_4_discrete_types<INTERVAL_SET, discrete_type_3>();}
+BOOST_AUTO_TEST_CASE
+(fastest_icl_interval_set_move_4_discrete_types)
+{ interval_set_move_4_discrete_types<INTERVAL_SET, discrete_type_2>();}
+
#endif // BOOST_ICL_FASTEST_INTERVAL_SET_CASES_HPP_JOFA_090702
Modified: trunk/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set_cases.hpp
==============================================================================
--- trunk/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set_cases.hpp (original)
+++ trunk/libs/icl/test/fastest_set_interval_set_/fastest_set_interval_set_cases.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -32,19 +32,19 @@
// separate_interval_set
//------------------------------------------------------------------------------
BOOST_AUTO_TEST_CASE
-(fastest_itl_separate_interval_set_check_monoid_plus_4_bicremental_types)
+(fastest_icl_separate_interval_set_check_monoid_plus_4_bicremental_types)
{ interval_set_check_monoid_plus_4_bicremental_types<bicremental_type_5, separate_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_separate_interval_set_check_abelian_monoid_plus_4_bicremental_types)
+(fastest_icl_separate_interval_set_check_abelian_monoid_plus_4_bicremental_types)
{ interval_set_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_6, separate_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_separate_interval_set_check_abelian_monoid_et_4_bicremental_types)
+(fastest_icl_separate_interval_set_check_abelian_monoid_et_4_bicremental_types)
{ interval_set_check_abelian_monoid_et_4_bicremental_types<bicremental_type_7, separate_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_separate_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types)
+(fastest_icl_separate_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types)
{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<bicremental_type_8, separate_interval_set>();}
@@ -52,19 +52,19 @@
// split_interval_set
//------------------------------------------------------------------------------
BOOST_AUTO_TEST_CASE
-(fastest_itl_split_interval_set_check_monoid_plus_4_bicremental_types)
+(fastest_icl_split_interval_set_check_monoid_plus_4_bicremental_types)
{ interval_set_check_monoid_plus_4_bicremental_types<bicremental_type_1, split_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_split_interval_set_check_abelian_monoid_plus_4_bicremental_types)
+(fastest_icl_split_interval_set_check_abelian_monoid_plus_4_bicremental_types)
{ interval_set_check_abelian_monoid_plus_4_bicremental_types<bicremental_type_2, split_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_split_interval_set_check_abelian_monoid_et_4_bicremental_types)
+(fastest_icl_split_interval_set_check_abelian_monoid_et_4_bicremental_types)
{ interval_set_check_abelian_monoid_et_4_bicremental_types<bicremental_type_3, split_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_split_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types)
+(fastest_icl_split_interval_set_check_partial_invertive_monoid_plus_4_bicremental_types)
{ interval_set_check_partial_invertive_monoid_plus_4_bicremental_types<bicremental_type_4, split_interval_set>();}
@@ -76,11 +76,11 @@
{ interval_set_check_containedness_4_bicremental_types<bicremental_type_4, interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_split_interval_set_check_containedness_4_bicremental_types)
+(fastest_icl_split_interval_set_check_containedness_4_bicremental_types)
{ interval_set_check_containedness_4_bicremental_types<bicremental_type_5, split_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_separate_interval_set_check_containedness_4_bicremental_types)
+(fastest_icl_separate_interval_set_check_containedness_4_bicremental_types)
{ interval_set_check_containedness_4_bicremental_types<bicremental_type_6, separate_interval_set>();}
//------------------------------------------------------------------------------
@@ -91,11 +91,11 @@
{ interval_set_check_inner_complementarity_4_bicremental_types<bicremental_type_7, interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_separate_interval_set_check_inner_complementarity_4_bicremental_types)
+(fastest_icl_separate_interval_set_check_inner_complementarity_4_bicremental_types)
{ interval_set_check_inner_complementarity_4_bicremental_types<bicremental_type_8, separate_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_split_interval_set_check_inner_complementarity_4_bicremental_types)
+(fastest_icl_split_interval_set_check_inner_complementarity_4_bicremental_types)
{ interval_set_check_inner_complementarity_4_bicremental_types<bicremental_type_1, split_interval_set>();}
//------------------------------------------------------------------------------
@@ -106,11 +106,11 @@
{ interval_set_check_length_complementarity_4_bicremental_types<bicremental_type_2, interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_separate_interval_set_check_length_complementarity_4_bicremental_types)
+(fastest_icl_separate_interval_set_check_length_complementarity_4_bicremental_types)
{ interval_set_check_length_complementarity_4_bicremental_types<bicremental_type_3, separate_interval_set>();}
BOOST_AUTO_TEST_CASE
-(fastest_itl_split_interval_set_check_length_complementarity_4_bicremental_types)
+(fastest_icl_split_interval_set_check_length_complementarity_4_bicremental_types)
{ interval_set_check_length_complementarity_4_bicremental_types<bicremental_type_4, split_interval_set>();}
#endif // BOOST_ICL_FASTEST_SET_INTERVAL_SET_CASES_HPP_JOFA_090703
Modified: trunk/libs/icl/test/test_combinable_/test_combinable.cpp
==============================================================================
--- trunk/libs/icl/test/test_combinable_/test_combinable.cpp (original)
+++ trunk/libs/icl/test/test_combinable_/test_combinable.cpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -204,7 +204,7 @@
}
-BOOST_AUTO_TEST_CASE(test_itl_is_derivative)
+BOOST_AUTO_TEST_CASE(test_icl_is_derivative)
{
//--------------------------------------------------------------------------
// 1.1
@@ -243,7 +243,7 @@
);
}
-BOOST_AUTO_TEST_CASE(test_itl_is_combinable)
+BOOST_AUTO_TEST_CASE(test_icl_is_combinable)
{
//--------------------------------------------------------------------------
// 2.1
@@ -283,7 +283,7 @@
}
-BOOST_AUTO_TEST_CASE(test_itl_is_container_right_combinable)
+BOOST_AUTO_TEST_CASE(test_icl_is_container_right_combinable)
{
//--------------------------------------------------------------------------
// 3.1
@@ -338,7 +338,7 @@
}
-BOOST_AUTO_TEST_CASE(test_itl_is_right_combinable)
+BOOST_AUTO_TEST_CASE(test_icl_is_right_combinable)
{
//--------------------------------------------------------------------------
// 4.1
@@ -365,7 +365,7 @@
);
}
-BOOST_AUTO_TEST_CASE(test_itl_combines_right_to)
+BOOST_AUTO_TEST_CASE(test_icl_combines_right_to)
{
//--------------------------------------------------------------------------
// 5.1
@@ -404,7 +404,7 @@
);
}
-BOOST_AUTO_TEST_CASE(test_itl_is_companion)
+BOOST_AUTO_TEST_CASE(test_icl_is_companion)
{
//--------------------------------------------------------------------------
// 6.1
@@ -431,7 +431,7 @@
);
}
-BOOST_AUTO_TEST_CASE(test_itl_is_coarser_combinable)
+BOOST_AUTO_TEST_CASE(test_icl_is_coarser_combinable)
{
//--------------------------------------------------------------------------
// 7.1
@@ -486,7 +486,7 @@
);
}
-BOOST_AUTO_TEST_CASE(test_itl_is_binary_combinable)
+BOOST_AUTO_TEST_CASE(test_icl_is_binary_combinable)
{
//--------------------------------------------------------------------------
// 9.1
Modified: trunk/libs/icl/test/test_icl_map.hpp
==============================================================================
--- trunk/libs/icl/test/test_icl_map.hpp (original)
+++ trunk/libs/icl/test/test_icl_map.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -19,7 +19,7 @@
ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap
#endif
>
-void itl_map_contains_4_bicremental_types()
+void icl_map_contains_4_bicremental_types()
{
typedef IntervalMap<T,U,Trt> IntervalMapT;
typedef icl::map<T,U,Trt> MapT;
@@ -39,25 +39,6 @@
BOOST_CHECK( contains(map_a, key_value_pair) );
BOOST_CHECK( within(key_value_pair, map_a) );
- //found = map_a.find(MK_v(5));
-
- //BOOST_CHECK_EQUAL( found == map_a.end(), true );
- //BOOST_CHECK_EQUAL( map_a(MK_v(5)), MK_u(0) );
-
-# ifdef BOOST_ICL_IS_MOVE_AWARE
-
- cout << ">"; //JODO
- MapT map_b(boost::move(MapT().add(key_value_pair)));
- cout << "<\n";
- cout << map_b << endl;
-
- cout << ">";
- MapT map_c;
- map_c = boost::move(MapT().add(key_value_pair));
- cout << "<\n";
- cout << map_c << endl;
-
-# endif //BOOST_ICL_IS_MOVE_AWARE
}
@@ -70,7 +51,7 @@
ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap
#endif
>
-void itl_map_find_4_bicremental_types()
+void icl_map_find_4_bicremental_types()
{
typedef IntervalMap<T,U,Trt> IntervalMapT;
typedef icl::map<T,U,Trt> MapT;
@@ -102,7 +83,7 @@
ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap
#endif
>
-void itl_map_inclusion_compare_4_bicremental_types()
+void icl_map_inclusion_compare_4_bicremental_types()
{
typedef IntervalMap<T,U,Trt> IntervalMapT;
typedef icl::map<T,U,Trt> MapT;
@@ -168,5 +149,38 @@
}
+template
+<
+ class T, class U, class Trt,
+#if (defined(__GNUC__) && (__GNUC__ < 4)) //MEMO Can be simplified, if gcc-3.4 is obsolete
+ ICL_IntervalMap_TEMPLATE(T,U,Traits,Trt) IntervalMap
+#else
+ ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap
+#endif
+>
+void icl_map_move_4_discrete_types()
+{
+ typedef icl::map<T,U,Trt> MapT;
+ typedef typename MapT::element_type map_element_type;
+
+ map_element_type kv_6_3(MK_v(6), MK_u(3));
+
+ MapT map_b;
+ map_b.add(kv_6_3);
+ MapT mv_cons_1(boost::move(MapT().add(kv_6_3)));
+ MapT cp_cons_1(map_b);
+
+ BOOST_CHECK_EQUAL( mv_cons_1, cp_cons_1 );
+ BOOST_CHECK_EQUAL( map_b, cp_cons_1 );
+
+ MapT mv_ass_1, cp_ass_1;
+ mv_ass_1 = boost::move(MapT().add(kv_6_3));
+ cp_ass_1 = map_b;
+
+ BOOST_CHECK_EQUAL( mv_ass_1, cp_ass_1 );
+ BOOST_CHECK_EQUAL( map_b, cp_ass_1 );
+}
+
+
#endif // LIBS_ICL_TEST_TEST_ICL_MAP_HPP_JOFA_090119
Modified: trunk/libs/icl/test/test_interval_map_shared.hpp
==============================================================================
--- trunk/libs/icl/test/test_interval_map_shared.hpp (original)
+++ trunk/libs/icl/test/test_interval_map_shared.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -1525,25 +1525,24 @@
#endif
class T, class U
>
-void interval_map_move_4_bicremental_types()
+void interval_map_move_4_discrete_types()
{
typedef IntervalMap<T,U> IntervalMapT;
typedef typename IntervalMapT::interval_type IntervalT;
-# ifdef BOOST_ICL_IS_MOVE_AWARE
IntervalMapT map_A(boost::move(static_cast<IntervalMapT&>(IntervalMapT(IDv(0,4,2)))));
IntervalMapT map_B(boost::move(static_cast<IntervalMapT&>(IntervalMapT(IDv(0,2,1)).add(IDv(2,4,1)).add(IDv(0,4,1)))));
- BOOST_CHECK_EQUAL( map_A, map_B );
+ BOOST_CHECK( icl::is_element_equal(map_A, map_B) );
+ BOOST_CHECK_EQUAL( map_A, join(map_B) );
- map_A = boost::move(static_cast<IntervalMapT&>(IntervalMapT(IIv(1,4,2)))); //JODO not yet moving
+ map_A = boost::move(static_cast<IntervalMapT&>(IntervalMapT(IIv(1,4,2))));
map_B = boost::move(static_cast<IntervalMapT&>(IntervalMapT(CIv(0,2,1)).insert(IDv(3,5,1)).add(CDv(0,5,1))));
- BOOST_CHECK_EQUAL( map_A, map_B );
-# endif //BOOST_ICL_IS_MOVE_AWARE
+ BOOST_CHECK( icl::is_element_equal(map_A, map_B) );
+ BOOST_CHECK_EQUAL( map_A, join(map_B) );
}
-
#endif // LIBS_ICL_TEST_TEST_INTERVAL_MAP_SHARED_HPP_JOFA_081005
Modified: trunk/libs/icl/test/test_interval_set_shared.hpp
==============================================================================
--- trunk/libs/icl/test/test_interval_set_shared.hpp (original)
+++ trunk/libs/icl/test/test_interval_set_shared.hpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -819,5 +819,28 @@
BOOST_CHECK_EQUAL( vec == dest, true );
}
+
+template <ICL_IntervalSet_TEMPLATE(_T) IntervalSet, class T>
+void interval_set_move_4_discrete_types()
+{
+ typedef IntervalSet<T> IntervalSetT;
+ typedef typename IntervalSetT::interval_type IntervalT;
+ typedef std::vector<T> VectorT;
+
+ IntervalSetT set_A(boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_D(0,4)))));
+ IntervalSetT set_B(boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_D(0,2)).add(I_D(2,4)).add(I_D(0,4)))));
+
+ BOOST_CHECK( icl::is_element_equal(set_A, set_B) );
+ BOOST_CHECK_EQUAL( set_A, join(set_B) );
+
+ set_A = boost::move(static_cast<IntervalSetT&>(IntervalSetT(I_I(1,4))));
+ set_B = boost::move(static_cast<IntervalSetT&>(IntervalSetT(C_I(0,2)).insert(I_D(3,5)).add(C_D(0,5))));
+
+ BOOST_CHECK( icl::is_element_equal(set_A, set_B) );
+ BOOST_CHECK_EQUAL( set_A, join(set_B) );
+}
+
+
+
#endif // LIBS_ICL_TEST_TEST_INTERVAL_SET_SHARED_HPP_JOFA_080920
Modified: trunk/libs/icl/test/test_type_traits_/test_type_traits.cpp
==============================================================================
--- trunk/libs/icl/test/test_type_traits_/test_type_traits.cpp (original)
+++ trunk/libs/icl/test/test_type_traits_/test_type_traits.cpp 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -82,7 +82,7 @@
BOOST_CHECK((!is_key_container_of<int, icl::map<int,int> >::value));
BOOST_CHECK((!is_key_container_of<std::pair<int,int> , icl::map<int,int> >::value));
BOOST_CHECK(( is_key_container_of<std::set<int>, std::set<int> >::value));
- BOOST_CHECK(( is_key_container_of<std::set<int>, icl::map<int,int> >::value));
+ BOOST_CHECK(( is_key_container_of<ICL_IMPL_SPACE::set<int>, icl::map<int,int> >::value));
BOOST_CHECK(( is_key_container_of<icl::map<int,int>, icl::map<int,int> >::value));
}
@@ -91,6 +91,10 @@
BOOST_CHECK( (is_set<std::set<int> >::value) );
BOOST_CHECK( (is_element_set<std::set<int> >::value) );
BOOST_CHECK( (!is_map<std::set<int> >::value) );
+
+ BOOST_CHECK( (is_set<ICL_IMPL_SPACE::set<int> >::value) );
+ BOOST_CHECK( (is_element_set<ICL_IMPL_SPACE::set<int> >::value) );
+ BOOST_CHECK( (!is_map<ICL_IMPL_SPACE::set<int> >::value) );
}
BOOST_AUTO_TEST_CASE(test_miscellaneous_type_traits)
Modified: trunk/libs/icl/test/vc9_icl_fast_tests.sln
==============================================================================
--- trunk/libs/icl/test/vc9_icl_fast_tests.sln (original)
+++ trunk/libs/icl/test/vc9_icl_fast_tests.sln 2011-12-25 14:14:24 EST (Sun, 25 Dec 2011)
@@ -70,149 +70,141 @@
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fix_tickets", "fix_tickets_\vc9_fix_tickets.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}"
EndProject
Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Release|Win32.Build.0 = Release|Win32
- {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Debug|Win32.ActiveCfg = Debug|Win32
- {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Debug|Win32.Build.0 = Debug|Win32
- {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Release|Win32.ActiveCfg = Release|Win32
- {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Release|Win32.Build.0 = Release|Win32
- {A731623C-94BC-4666-A419-35D1623E906E}.Debug|Win32.ActiveCfg = Debug|Win32
- {A731623C-94BC-4666-A419-35D1623E906E}.Debug|Win32.Build.0 = Debug|Win32
- {A731623C-94BC-4666-A419-35D1623E906E}.Release|Win32.ActiveCfg = Release|Win32
- {A731623C-94BC-4666-A419-35D1623E906E}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Release|Win32.Build.0 = Release|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Debug|Win32.ActiveCfg = Debug|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Debug|Win32.Build.0 = Debug|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Release|Win32.ActiveCfg = Release|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.Build.0 = Release|Win32
- {A731623C-94BC-4666-A419-35D2623E911E}.Debug|Win32.ActiveCfg = Debug|Win32
- {A731623C-94BC-4666-A419-35D2623E911E}.Debug|Win32.Build.0 = Debug|Win32
- {A731623C-94BC-4666-A419-35D2623E911E}.Release|Win32.ActiveCfg = Release|Win32
- {A731623C-94BC-4666-A419-35D2623E911E}.Release|Win32.Build.0 = Release|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Debug|Win32.ActiveCfg = Debug|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Debug|Win32.Build.0 = Debug|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Release|Win32.ActiveCfg = Release|Win32
- {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Release|Win32.Build.0 = Release|Win32
- {33577D13-D562-4E3F-89F2-A8885151D13F}.Debug|Win32.ActiveCfg = Debug|Win32
- {33577D13-D562-4E3F-89F2-A8885151D13F}.Debug|Win32.Build.0 = Debug|Win32
- {33577D13-D562-4E3F-89F2-A8885151D13F}.Release|Win32.ActiveCfg = Release|Win32
- {33577D13-D562-4E3F-89F2-A8885151D13F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA1}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA1}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA1}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8DAA9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8DAA9FA0}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8DAA9FA0}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8DAA9FA0}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Release|Win32.Build.0 = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Debug|Win32.Build.0 = Debug|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Release|Win32.ActiveCfg = Release|Win32
- {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A900D}.Release|Win32.Build.0 = Release|Win32
+ {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Debug|Win32.Build.0 = Debug|Win32
+ {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Release|Win32.ActiveCfg = Release|Win32
+ {0FBD7F60-6470-41BB-8F8C-F47E9765C011}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A902F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3B903F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A905C}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D2A917F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A908C}.Release|Win32.Build.0 = Release|Win32
+ {A731623C-94BC-4666-A419-35D1623E906E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A731623C-94BC-4666-A419-35D1623E906E}.Debug|Win32.Build.0 = Debug|Win32
+ {A731623C-94BC-4666-A419-35D1623E906E}.Release|Win32.ActiveCfg = Release|Win32
+ {A731623C-94BC-4666-A419-35D1623E906E}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A907E}.Release|Win32.Build.0 = Release|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Debug|Win32.Build.0 = Debug|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Release|Win32.ActiveCfg = Release|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE309B}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D2A909F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A910C}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA0}.Release|Win32.Build.0 = Release|Win32
+ {A731623C-94BC-4666-A419-35D2623E911E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A731623C-94BC-4666-A419-35D2623E911E}.Debug|Win32.Build.0 = Debug|Win32
+ {A731623C-94BC-4666-A419-35D2623E911E}.Release|Win32.ActiveCfg = Release|Win32
+ {A731623C-94BC-4666-A419-35D2623E911E}.Release|Win32.Build.0 = Release|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Debug|Win32.Build.0 = Debug|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Release|Win32.ActiveCfg = Release|Win32
+ {DD9C9854-3882-42B9-BFA1-C6CEBFCE3129}.Release|Win32.Build.0 = Release|Win32
+ {33577D13-D562-4E3F-89F2-A8885151D13F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {33577D13-D562-4E3F-89F2-A8885151D13F}.Debug|Win32.Build.0 = Debug|Win32
+ {33577D13-D562-4E3F-89F2-A8885151D13F}.Release|Win32.ActiveCfg = Release|Win32
+ {33577D13-D562-4E3F-89F2-A8885151D13F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D2A913E}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D4A915C}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B4A-FD5B7D3A909F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B4B-FD5B7D4A917F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A904F}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D3A9FA1}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D4A9FA0}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D5A9FA0}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D6A9FA0}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D8A9FA0}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA0}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}.Release|Win32.Build.0 = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Debug|Win32.Build.0 = Debug|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.Release|Win32.ActiveCfg = Release|Win32
+ {EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}.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