|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r76209 - in trunk: boost/icl libs/icl/test
From: afojgo_at_[hidden]
Date: 2011-12-28 06:32:29
Author: jofaber
Date: 2011-12-28 06:32:26 EST (Wed, 28 Dec 2011)
New Revision: 76209
URL: http://svn.boost.org/trac/boost/changeset/76209
Log:
Replaced move emulation by c++11. Now using c++11 move ctors and assignment operators.
Text files modified:
trunk/boost/icl/impl_config.hpp | 5 --
trunk/boost/icl/interval_base_map.hpp | 26 +++++++-------
trunk/boost/icl/interval_base_set.hpp | 23 ++++++------
trunk/boost/icl/interval_map.hpp | 28 +++++++--------
trunk/boost/icl/interval_set.hpp | 17 +++++---
trunk/boost/icl/separate_interval_set.hpp | 25 ++++--------
trunk/boost/icl/split_interval_map.hpp | 38 +++++++-------------
trunk/boost/icl/split_interval_set.hpp | 24 ++++--------
trunk/libs/icl/test/Jamfile.v2 | 73 ----------------------------------------
trunk/libs/icl/test/test_interval_map_shared.hpp | 17 ++++----
trunk/libs/icl/test/vc9_icl_fast_tests.sln | 4 --
11 files changed, 88 insertions(+), 192 deletions(-)
Modified: trunk/boost/icl/impl_config.hpp
==============================================================================
--- trunk/boost/icl/impl_config.hpp (original)
+++ trunk/boost/icl/impl_config.hpp 2011-12-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -25,7 +25,7 @@
| STL. |
| |
| ICL_USE_BOOST_MOVE_IMPLEMENTATION: |
-| Move aware containers from boost::container. |
+| Use move aware containers from boost::container. |
| |
| NOTE: ICL_USE_BOOST_INTERPROCESS_IMPLEMENTATION: This define has been |
| available until boost version 1.48.0 and is no longer supported. |
@@ -39,9 +39,6 @@
# 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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -1,5 +1,5 @@
/*-----------------------------------------------------------------------------+
-Copyright (c) 2007-2010: Joachim Faulhaber
+Copyright (c) 2007-2012: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
+------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
@@ -192,8 +192,6 @@
BOOST_STATIC_CONSTANT(int, fineness = 0);
- BOOST_COPYABLE_AND_MOVABLE(interval_base_map)
-
public:
//==========================================================================
@@ -217,12 +215,20 @@
BOOST_CONCEPT_ASSERT((EqualComparableConcept<CodomainT>));
}
+ /** Copy assignment operator */
+ interval_base_map& operator = (const interval_base_map& src)
+ {
+ this->_map = src._map;
+ return *this;
+ }
+
+# ifndef BOOST_NO_RVALUE_REFERENCES
//==========================================================================
- //= Move emulation
+ //= Move semantics
//==========================================================================
/** Move constructor */
- interval_base_map(BOOST_RV_REF(interval_base_map) src): _map(boost::move(src._map))
+ interval_base_map(interval_base_map&& src): _map(boost::move(src._map))
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
@@ -231,20 +237,14 @@
}
/** Move assignment operator */
- interval_base_map& operator = (BOOST_RV_REF(interval_base_map) src)
+ interval_base_map& operator = (interval_base_map&& src)
{
this->_map = boost::move(src._map);
return *this;
}
- /** Copy assignment operator */
- interval_base_map& operator = (BOOST_COPY_ASSIGN_REF(interval_base_map) src)
- {
- this->_map = src._map;
- return *this;
- }
-
//==========================================================================
+# endif // BOOST_NO_RVALUE_REFERENCES
/** 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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -168,33 +168,34 @@
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
}
+ /** Assignment operator */
+ interval_base_set& operator = (const interval_base_set& src)
+ {
+ this->_set = src._set;
+ return *this;
+ }
+
+# ifndef BOOST_NO_RVALUE_REFERENCES
//==========================================================================
- //= Move emulation
+ //= Move semantics
//==========================================================================
/** Move constructor */
- interval_base_set(BOOST_RV_REF(interval_base_set) src): _set(boost::move(src._set))
+ interval_base_set(interval_base_set&& src): _set(boost::move(src._set))
{
BOOST_CONCEPT_ASSERT((DefaultConstructibleConcept<DomainT>));
BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>));
}
/** Move assignment operator */
- interval_base_set& operator = (BOOST_RV_REF(interval_base_set) src)
+ interval_base_set& operator = (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;
- }
-
//==========================================================================
-
+# endif // BOOST_NO_RVALUE_REFERENCES
/** 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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -1,5 +1,5 @@
/*-----------------------------------------------------------------------------+
-Copyright (c) 2008-2009: Joachim Faulhaber
+Copyright (c) 2008-2012: Joachim Faulhaber
+------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
@@ -68,8 +68,6 @@
enum { fineness = 1 };
- BOOST_COPYABLE_AND_MOVABLE(interval_map)
-
public:
//==========================================================================
//= Construct, copy, destruct
@@ -96,7 +94,10 @@
/// Assignment operator
- interval_map& operator = (const split_type& src)
+ template<class SubType>
+ interval_map& operator =
+ (const interval_base_map<SubType,DomainT,CodomainT,
+ Traits,Compare,Combine,Section,Interval,Alloc>& src)
{ this->assign(src); return *this; }
/// Assignment from a base interval_map.
@@ -112,28 +113,25 @@
prior_ = this->add(prior_, *it_);
}
+# ifndef BOOST_NO_RVALUE_REFERENCES
//==========================================================================
- //= Move emulation
+ //= Move semantics
//==========================================================================
/// Move constructor
- interval_map(BOOST_RV_REF(interval_map) src)
- : base_type(boost::move(static_cast<base_type&>(src)))
+ interval_map(interval_map&& src)
+ : base_type(boost::move(src))
{}
/// Move assignment operator
- interval_map& operator = (BOOST_RV_REF(interval_map) src)
+ interval_map& operator = (interval_map&& src)
{
- base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ base_type::operator=(boost::move(src));
return *this;
}
- /// Copy assignment operator
- interval_map& operator = (BOOST_COPY_ASSIGN_REF(interval_map) src)
- {
- base_type::operator=(src);
- return *this;
- }
+ //==========================================================================
+# endif // BOOST_NO_RVALUE_REFERENCES
private:
// Private functions that shall be accessible by the baseclass:
Modified: trunk/boost/icl/interval_set.hpp
==============================================================================
--- trunk/boost/icl/interval_set.hpp (original)
+++ trunk/boost/icl/interval_set.hpp 2011-12-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -87,14 +87,13 @@
enum { fineness = 1 };
- BOOST_COPYABLE_AND_MOVABLE(interval_set)
-
public:
//==========================================================================
//= Construct, copy, destruct
//==========================================================================
/// Default constructor for the empty object
interval_set(): base_type() {}
+
/// Copy constructor
interval_set(const interval_set& src): base_type(src) {}
@@ -109,6 +108,7 @@
/// Constructor for a single element
explicit interval_set(const domain_type& value): base_type()
{ this->add(interval_type(value)); }
+
/// Constructor for a single interval
explicit interval_set(const interval_type& itv): base_type()
{
@@ -137,21 +137,24 @@
prior_ = this->add(prior_, *it_);
}
+# ifndef BOOST_NO_RVALUE_REFERENCES
//==========================================================================
- //= Move emulation
+ //= Move semantics
//==========================================================================
/// Move constructor
- interval_set(BOOST_RV_REF(interval_set) src)
- : base_type(boost::move(static_cast<base_type&>(src)))
+ interval_set(interval_set&& src)
+ : base_type(boost::move(src))
{}
/// Move assignment operator
- interval_set& operator = (BOOST_RV_REF(interval_set) src)
+ interval_set& operator = (interval_set&& src)
{
- base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ base_type::operator=(boost::move(src));
return *this;
}
+ //==========================================================================
+# endif // BOOST_NO_RVALUE_REFERENCES
private:
// Private functions that shall be accessible by the baseclass:
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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -84,8 +84,6 @@
enum { fineness = 2 };
- BOOST_COPYABLE_AND_MOVABLE(separate_interval_set)
-
public:
//==========================================================================
//= Construct, copy, destruct
@@ -121,33 +119,28 @@
template<class SubType>
void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
{
- typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> src_type;
-
this->clear();
- //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_++);
+ this->_set.insert(src.begin(), src.end());
}
+# ifndef BOOST_NO_RVALUE_REFERENCES
//==========================================================================
- //= Move emulation
+ //= Move semantics
//==========================================================================
/// Move constructor
- separate_interval_set(BOOST_RV_REF(separate_interval_set) src)
- : base_type(boost::move(static_cast<base_type&>(src)))
+ separate_interval_set(separate_interval_set&& src)
+ : base_type(boost::move(src))
{}
/// Move assignment operator
- separate_interval_set& operator = (BOOST_RV_REF(separate_interval_set) src)
+ separate_interval_set& operator = (separate_interval_set&& src)
{
- base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ base_type::operator=(boost::move(src));
return *this;
}
-
+ //==========================================================================
+# endif // BOOST_NO_RVALUE_REFERENCES
private:
// Private functions that shall be accessible by the baseclass:
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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -1,5 +1,5 @@
/*-----------------------------------------------------------------------------+
-Copyright (c) 2007-2009: Joachim Faulhaber
+Copyright (c) 2007-2012: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
+------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
@@ -62,8 +62,6 @@
enum { fineness = 3 };
- BOOST_COPYABLE_AND_MOVABLE(split_interval_map)
-
public:
//==========================================================================
//= Construct, copy, destruct
@@ -82,7 +80,9 @@
/// Copy assignment operator
template<class SubType>
- split_interval_map& operator = (const joint_type& src)
+ split_interval_map& operator =
+ (const interval_base_map<SubType,DomainT,CodomainT,
+ Traits,Compare,Combine,Section,Interval,Alloc>& src)
{ this->assign(src); return *this; }
/// Assignment from a base interval_map.
@@ -90,41 +90,29 @@
void assign(const interval_base_map<SubType,DomainT,CodomainT,
Traits,Compare,Combine,Section,Interval,Alloc>& src)
{
- typedef interval_base_map<SubType,DomainT,CodomainT,Traits
- ,Compare,Combine,Section,Interval,Alloc> src_type;
-
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_++);
+ this->_map.insert(src.begin(), src.end());
}
+# ifndef BOOST_NO_RVALUE_REFERENCES
//==========================================================================
- //= Move emulation
+ //= Move semantics
//==========================================================================
/// Move constructor
- split_interval_map(BOOST_RV_REF(split_interval_map) src)
- : base_type(boost::move(static_cast<base_type&>(src)))
+ split_interval_map(split_interval_map&& src)
+ : base_type(boost::move(src))
{}
/// Move assignment operator
- split_interval_map& operator = (BOOST_RV_REF(split_interval_map) src)
+ split_interval_map& operator = (split_interval_map&& src)
{
- base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ base_type::operator=(boost::move(src));
return *this;
}
- /// Copy assignment operator
- split_interval_map& operator = (BOOST_COPY_ASSIGN_REF(split_interval_map) src)
- {
- base_type::operator=(src);
- return *this;
- }
-
+ //==========================================================================
+# endif // BOOST_NO_RVALUE_REFERENCES
private:
// Private functions that shall be accessible by the baseclass:
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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -83,8 +83,6 @@
enum { fineness = 3 };
- BOOST_COPYABLE_AND_MOVABLE(split_interval_set)
-
public:
//==========================================================================
//= Construct, copy, destruct
@@ -116,32 +114,28 @@
template<class SubType>
void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
{
- typedef interval_base_set<SubType,DomainT,Compare,Interval,Alloc> src_type;
-
this->clear();
- //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_++);
+ this->_set.insert(src.begin(), src.end());
}
+# ifndef BOOST_NO_RVALUE_REFERENCES
//==========================================================================
- //= Move emulation
+ //= Move semantics
//==========================================================================
/// Move constructor
- split_interval_set(BOOST_RV_REF(split_interval_set) src)
- : base_type(boost::move(static_cast<base_type&>(src)))
+ split_interval_set(split_interval_set&& src)
+ : base_type(boost::move(src))
{}
/// Move assignment operator
- split_interval_set& operator = (BOOST_RV_REF(split_interval_set) src)
+ split_interval_set& operator = (split_interval_set&& src)
{
- base_type::operator=(boost::move(static_cast<base_type&>(src)));
+ base_type::operator=(boost::move(src));
return *this;
}
+ //==========================================================================
+# endif // BOOST_NO_RVALUE_REFERENCES
private:
Modified: trunk/libs/icl/test/Jamfile.v2
==============================================================================
--- trunk/libs/icl/test/Jamfile.v2 (original)
+++ trunk/libs/icl/test/Jamfile.v2 2011-12-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -155,77 +155,4 @@
: : : <define>BOOST_ICL_TEST_CHRONO
: chrono_total_icl_quantifier ]
- # ========================================================================
- # Boost.Container --------------------------------------------------------
- # interval
- [ run fastest_icl_interval_/fastest_icl_interval.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_icl_interval ]
-
- # sets
- [ run fastest_interval_set_/fastest_interval_set.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_set ]
-
- [ run fastest_interval_set_infix_/fastest_interval_set_infix.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_set_infix ]
-
- [ run fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_set_mixed ]
-
- # maps
- [ run fastest_interval_map_/fastest_interval_map.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_map ]
-
- [ run fastest_interval_map_infix_/fastest_interval_map_infix.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_map_infix ]
-
- [ run fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_map_mixed ]
-
- [ run fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_map_mixed2 ]
-
- [ run fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_interval_map_infix_mixed ]
-
- [ run fastest_icl_map_/fastest_icl_map.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_icl_map ]
-
-
- # handcoded tests using laws (not LaBatea) -------------------------------
- # Concept Set
- [ run fastest_set_interval_set_/fastest_set_interval_set.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_set_interval_set ]
-
- [ run fastest_set_icl_set_/fastest_set_icl_set.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_set_icl_set ]
-
- # Concept Map
- [ run fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_partial_interval_quantifier ]
-
- [ run fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_total_interval_quantifier ]
-
- [ run fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_partial_icl_quantifier ]
-
- [ run fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp
- : : : <define>ICL_USE_BOOST_MOVE_IMPLEMENTATION
- : bcont_total_icl_quantifier ]
-
;
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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -1,5 +1,5 @@
/*-----------------------------------------------------------------------------+
-Copyright (c) 2008-2009: Joachim Faulhaber
+Copyright (c) 2008-2012: Joachim Faulhaber
+------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
@@ -1527,24 +1527,23 @@
>
void interval_map_move_4_discrete_types()
{
+# ifndef BOOST_NO_RVALUE_REFERENCES
typedef IntervalMap<T,U> IntervalMapT;
typedef typename IntervalMapT::interval_type IntervalT;
- //JODO static_cast fails for gcc compilers
- //IntervalMapT map_A(boost::move(static_cast<IntervalMapT&>(IntervalMapT(IDv(0,4,2)))));
- IntervalMapT map_A(boost::move(static_cast<IntervalMapT&>(IntervalMapT(IDv(0,4,2)).add(IDv(0,0,0)) )));
- IntervalMapT map_B(boost::move(static_cast<IntervalMapT&>(IntervalMapT(IDv(0,2,1)).add(IDv(2,4,1)).add(IDv(0,4,1)))));
+ IntervalMapT map_A(boost::move(IntervalMapT(IDv(0,4,2))));
+ IntervalMapT map_B(boost::move(IntervalMapT(IDv(0,2,1)).add(IDv(2,4,1)).add(IDv(0,4,1))));
BOOST_CHECK( icl::is_element_equal(map_A, map_B) );
BOOST_CHECK_EQUAL( map_A, join(map_B) );
- //JODO static_cast fails for gcc compilers
- //map_A = boost::move(static_cast<IntervalMapT&>(IntervalMapT(IIv(1,4,2))));
- map_A = boost::move(static_cast<IntervalMapT&>(IntervalMapT(IIv(1,4,2)).add(IDv(0,0,0)) ));
- map_B = boost::move(static_cast<IntervalMapT&>(IntervalMapT(CIv(0,2,1)).insert(IDv(3,5,1)).add(CDv(0,5,1))));
+ map_A = boost::move(IntervalMapT(IIv(1,4,2)));
+ map_B = boost::move(IntervalMapT(CIv(0,2,1)).insert(IDv(3,5,1)).add(CDv(0,5,1)));
BOOST_CHECK( icl::is_element_equal(map_A, map_B) );
BOOST_CHECK_EQUAL( map_A, join(map_B) );
+
+# endif // BOOST_NO_RVALUE_REFERENCES
}
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-28 06:32:26 EST (Wed, 28 Dec 2011)
@@ -57,14 +57,10 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fix_icl_after_thread", "fix_icl_after_thread_\vc9_fix_icl_after_thread.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA0}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_cmp_msvc_value_born_error", "cmp_msvc_value_born_error_\vc9_cmp_msvc_value_born_error.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA1}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_cmp_clang_ttp_passing", "cmp_clang_ttp_passing_\vc9_cmp_clang_ttp_passing.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_cmp_clang_ttp_passing2", "cmp_clang_ttp_passing2_\vc9_cmp_clang_ttp_passing2.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D7A9FA3}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_use_case", "use_case_\vc9_use_case.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8DAA9FA0}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fast_stat_interval_map", "fast_stat_interval_map_\vc9_fast_stat_interval_map.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B7D3A900D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vc9_fix_tickets", "fix_tickets_\vc9_fix_tickets.vcproj", "{EE61B7EF-EC45-4165-8B49-FD5B8D9A9FA1}"
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