Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r63593 - in sandbox/geometry: boost/geometry/algorithms boost/geometry/algorithms/detail/overlay boost/geometry/extensions/algorithms boost/geometry/extensions/algorithms/buffer boost/geometry/extensions/gis/geographic/strategies boost/geometry/extensions/gis/projections/impl boost/geometry/extensions/nsphere/algorithms boost/geometry/strategies boost/geometry/strategies/spherical boost/geometry/util libs/geometry/test/algorithms libs/geometry/test/iterators
From: barend.gehrels_at_[hidden]
Date: 2010-07-04 09:26:10


Author: barendgehrels
Date: 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
New Revision: 63593
URL: http://svn.boost.org/trac/boost/changeset/63593

Log:
Added comparable_distance
Removed geometry::math::pi, now using boost::constants::pi
Solved abs/std::abs issues (2)

Added:
   sandbox/geometry/boost/geometry/algorithms/comparable_distance.hpp (contents, props changed)
Text files modified:
   sandbox/geometry/boost/geometry/algorithms/detail/overlay/assemble.hpp | 2 ++
   sandbox/geometry/boost/geometry/algorithms/detail/overlay/ring_properties.hpp | 2 +-
   sandbox/geometry/boost/geometry/algorithms/detail/overlay/split_rings.hpp | 1 +
   sandbox/geometry/boost/geometry/extensions/algorithms/buffer/line_line_intersection.hpp | 2 ++
   sandbox/geometry/boost/geometry/extensions/algorithms/buffer/segmenting_buffer.hpp | 2 ++
   sandbox/geometry/boost/geometry/extensions/algorithms/remove_holes_if.hpp | 1 +
   sandbox/geometry/boost/geometry/extensions/algorithms/remove_spikes.hpp | 1 +
   sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp | 1 +
   sandbox/geometry/boost/geometry/extensions/gis/geographic/strategies/vincenty.hpp | 14 ++++++++++----
   sandbox/geometry/boost/geometry/extensions/gis/projections/impl/adjlon.hpp | 2 ++
   sandbox/geometry/boost/geometry/extensions/nsphere/algorithms/area.hpp | 3 ++-
   sandbox/geometry/boost/geometry/strategies/buffer.hpp | 1 +
   sandbox/geometry/boost/geometry/strategies/buffer_join_round.hpp | 1 +
   sandbox/geometry/boost/geometry/strategies/spherical/area_huiller.hpp | 28 +++++++++++++++++++---------
   sandbox/geometry/boost/geometry/strategies/spherical/compare_circular.hpp | 7 +++++--
   sandbox/geometry/boost/geometry/strategies/spherical/side_by_cross_track.hpp | 1 +
   sandbox/geometry/boost/geometry/util/math.hpp | 18 +-----------------
   sandbox/geometry/libs/geometry/test/algorithms/area.cpp | 4 +++-
   sandbox/geometry/libs/geometry/test/iterators/iterators.sln | 34 +++++-----------------------------
   19 files changed, 61 insertions(+), 64 deletions(-)

Added: sandbox/geometry/boost/geometry/algorithms/comparable_distance.hpp
==============================================================================
--- (empty file)
+++ sandbox/geometry/boost/geometry/algorithms/comparable_distance.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -0,0 +1,63 @@
+// Boost.Geometry (aka GGL, Generic Geometry Library)
+//
+// Copyright Barend Gehrels 2010, Geodan, Amsterdam, the Netherlands.
+// Use, modification and distribution is subject to 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)
+
+#ifndef BOOST_GEOMETRY_ALGORITHMS_COMPARABLE_DISTANCE_HPP
+#define BOOST_GEOMETRY_ALGORITHMS_COMPARABLE_DISTANCE_HPP
+
+
+#include <boost/geometry/algorithms/distance.hpp>
+
+
+namespace boost { namespace geometry
+{
+
+
+/*!
+ \brief Calculate comparable distance measurement between two geometries
+ \ingroup distance
+ \details The default strategy is used, belonging to the corresponding coordinate system of the geometries
+ and the comparable strategy is used
+ \tparam G1 first geometry type
+ \tparam G2 second geometry type
+ \param geometry1 first geometry
+ \param geometry2 second geometry
+ \return the comparable distance
+ */
+template <typename Geometry1, typename Geometry2>
+inline typename distance_result<Geometry1, Geometry2>::type comparable_distance(
+ Geometry1 const& geometry1, Geometry2 const& geometry2)
+{
+ concept::check<Geometry1 const>();
+ concept::check<Geometry2 const>();
+
+ typedef typename point_type<Geometry1>::type point1_type;
+ typedef typename point_type<Geometry2>::type point2_type;
+
+ // Define a point-point-distance-strategy
+ // for either the normal case, either the reversed case
+
+ typedef typename strategy::distance::services::comparable_type
+ <
+ typename boost::mpl::if_c
+ <
+ geometry::reverse_dispatch
+ <Geometry1, Geometry2>::type::value,
+ typename default_distance_strategy
+ <point2_type, point1_type>::type,
+ typename default_distance_strategy
+ <point1_type, point2_type>::type
+ >::type
+ >::type strategy_type;
+
+ return distance(geometry1, geometry2, strategy_type());
+}
+
+
+}} // namespace boost::geometry
+
+
+#endif // BOOST_GEOMETRY_ALGORITHMS_COMPARABLE_DISTANCE_HPP

Modified: sandbox/geometry/boost/geometry/algorithms/detail/overlay/assemble.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/overlay/assemble.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/overlay/assemble.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -38,6 +38,8 @@
 #include <boost/geometry/algorithms/detail/point_on_border.hpp>
 
 #include <boost/geometry/iterators/range_type.hpp>
+#include <boost/geometry/util/math.hpp>
+
 
 #include <boost/geometry/strategies/intersection.hpp>
 

Modified: sandbox/geometry/boost/geometry/algorithms/detail/overlay/ring_properties.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/overlay/ring_properties.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/overlay/ring_properties.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -12,8 +12,8 @@
 #include <boost/geometry/algorithms/area.hpp>
 #include <boost/geometry/algorithms/envelope.hpp>
 #include <boost/geometry/algorithms/detail/point_on_border.hpp>
-
 #include <boost/geometry/algorithms/detail/ring_identifier.hpp>
+#include <boost/geometry/util/math.hpp>
 
 #include <boost/geometry/geometries/box.hpp>
 

Modified: sandbox/geometry/boost/geometry/algorithms/detail/overlay/split_rings.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/overlay/split_rings.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/overlay/split_rings.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -22,6 +22,7 @@
 #include <boost/geometry/core/ring_type.hpp>
 #include <boost/geometry/core/exterior_ring.hpp>
 #include <boost/geometry/core/interior_rings.hpp>
+#include <boost/geometry/util/math.hpp>
 
 
 #include <boost/geometry/algorithms/intersects.hpp>

Modified: sandbox/geometry/boost/geometry/extensions/algorithms/buffer/line_line_intersection.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/algorithms/buffer/line_line_intersection.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/algorithms/buffer/line_line_intersection.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -9,6 +9,8 @@
 #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_BUFFER_LINE_LINE_INTERSECTION_HPP
 
 
+#include <boost/geometry/util/math.hpp>
+
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/extensions/algorithms/buffer/segmenting_buffer.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/algorithms/buffer/segmenting_buffer.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/algorithms/buffer/segmenting_buffer.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -22,6 +22,8 @@
 
 #include <boost/geometry/strategies/buffer_side.hpp>
 #include <boost/geometry/strategies/buffer_join_round.hpp>
+#include <boost/geometry/util/math.hpp>
+
 #include <boost/geometry/algorithms/detail/disjoint.hpp>
 
 

Modified: sandbox/geometry/boost/geometry/extensions/algorithms/remove_holes_if.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/algorithms/remove_holes_if.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/algorithms/remove_holes_if.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -15,6 +15,7 @@
 #include <boost/geometry/algorithms/perimeter.hpp>
 
 #include <boost/geometry/core/interior_rings.hpp>
+#include <boost/geometry/util/math.hpp>
 
 #include <boost/geometry/geometries/concepts/check.hpp>
 

Modified: sandbox/geometry/boost/geometry/extensions/algorithms/remove_spikes.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/algorithms/remove_spikes.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/algorithms/remove_spikes.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -21,6 +21,7 @@
 #include <boost/geometry/core/interior_rings.hpp>
 #include <boost/geometry/geometries/concepts/check.hpp>
 #include <boost/geometry/strategies/side.hpp>
+#include <boost/geometry/util/math.hpp>
 
 #include <boost/geometry/algorithms/area.hpp>
 #include <boost/geometry/algorithms/distance.hpp>

Modified: sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -22,6 +22,7 @@
 
 #include <boost/geometry/geometries/concepts/check.hpp>
 
+#include <boost/geometry/util/math.hpp>
 #include <boost/geometry/util/select_coordinate_type.hpp>
 
 /*!

Modified: sandbox/geometry/boost/geometry/extensions/gis/geographic/strategies/vincenty.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/gis/geographic/strategies/vincenty.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/gis/geographic/strategies/vincenty.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -9,6 +9,8 @@
 #ifndef BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_VINCENTY_HPP
 #define BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_VINCENTY_HPP
 
+#include <boost/math/constants/constants.hpp>
+
 
 #include <boost/geometry/strategies/distance.hpp>
 #include <boost/geometry/core/radian_access.hpp>
@@ -70,12 +72,16 @@
 
         inline return_type calculate(T1 const& lon1, T1 const& lat1, T2 const& lon2, T2 const& lat2) const
         {
+ namespace mc = boost::math::constants;
+
+ double const two_pi = 2.0 * mc::pi<double>();
+
             // lambda: difference in longitude on an auxiliary sphere
             double L = lon2 - lon1;
             double lambda = L;
 
- if (L < -math::pi) L += math::two_pi;
- if (L > math::pi) L -= math::two_pi;
+ if (L < -mc::pi<double>()) L += two_pi;
+ if (L > mc::pi<double>()) L -= two_pi;
 
             if (lat1 == lat2 && lon1 == lon2)
             {
@@ -120,7 +126,7 @@
                 lambda = L + (1.0 - C) * m_ellipsoid.f() * sin_alpha *
                     (sigma + C * sin_sigma * ( cos2_sigma_m + C * cos_sigma * (-1.0 + 2.0 * math::sqr(cos2_sigma_m)))); // (11)
 
- } while (fabs(previous_lambda - lambda) > 1e-12 && fabs(lambda) < math::pi);
+ } while (fabs(previous_lambda - lambda) > 1e-12 && fabs(lambda) < mc::pi<double>());
 
             double sqr_u = cos2_alpha * (math::sqr(m_ellipsoid.a()) - math::sqr(m_ellipsoid.b())) / math::sqr(m_ellipsoid.b()); // above (1)
 
@@ -136,7 +142,7 @@
 };
 
 #ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
-namespace services
+namespace services
 {
 
 template <typename Point1, typename Point2>

Modified: sandbox/geometry/boost/geometry/extensions/gis/projections/impl/adjlon.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/gis/projections/impl/adjlon.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/gis/projections/impl/adjlon.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -37,6 +37,8 @@
 
 #include <cmath>
 
+#include <boost/math/constants/constants.hpp>
+
 #include <boost/geometry/extensions/gis/projections/impl/projects.hpp>
 
 namespace boost { namespace geometry { namespace projection

Modified: sandbox/geometry/boost/geometry/extensions/nsphere/algorithms/area.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/nsphere/algorithms/area.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/nsphere/algorithms/area.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -9,6 +9,7 @@
 #ifndef BOOST_GEOMETRY_EXTENSIONS_NSPHERE_ALGORITHMS_AREA_HPP
 #define BOOST_GEOMETRY_EXTENSIONS_NSPHERE_ALGORITHMS_AREA_HPP
 
+#include <boost/math/constants/constants.hpp>
 
 #include <boost/geometry/algorithms/area.hpp>
 
@@ -44,7 +45,7 @@
         assert_dimension<C, 2>();
 
         return_type r = get_radius<0>(c);
- r *= r * geometry::math::pi;
+ r *= r * boost::math::constants::pi<return_type>();
         return r;
     }
 };

Modified: sandbox/geometry/boost/geometry/strategies/buffer.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/strategies/buffer.hpp (original)
+++ sandbox/geometry/boost/geometry/strategies/buffer.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -14,6 +14,7 @@
 #include <boost/geometry/core/cs.hpp>
 #include <boost/geometry/strategies/tags.hpp>
 #include <boost/geometry/strategies/side.hpp>
+#include <boost/geometry/util/math.hpp>
 
 #include <boost/geometry/strategies/buffer_side.hpp>
 

Modified: sandbox/geometry/boost/geometry/strategies/buffer_join_round.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/strategies/buffer_join_round.hpp (original)
+++ sandbox/geometry/boost/geometry/strategies/buffer_join_round.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -15,6 +15,7 @@
 #include <boost/geometry/core/cs.hpp>
 #include <boost/geometry/strategies/tags.hpp>
 #include <boost/geometry/strategies/side.hpp>
+#include <boost/geometry/util/math.hpp>
 
 #include <boost/geometry/strategies/buffer_side.hpp>
 

Modified: sandbox/geometry/boost/geometry/strategies/spherical/area_huiller.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/strategies/spherical/area_huiller.hpp (original)
+++ sandbox/geometry/boost/geometry/strategies/spherical/area_huiller.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -10,9 +10,12 @@
 #define BOOST_GEOMETRY_STRATEGIES_SPHERICAL_AREA_HUILLER_HPP
 
 
+#include <boost/math/constants/constants.hpp>
+
 #include <boost/geometry/strategies/spherical/distance_haversine.hpp>
 
 #include <boost/geometry/core/radian_access.hpp>
+#include <boost/geometry/util/math.hpp>
 
 
 namespace boost { namespace geometry
@@ -82,22 +85,29 @@
     {
         if (! geometry::math::equals(get<0>(p1), get<0>(p2)))
         {
+ namespace mc = boost::math::constants;
+
+ double const two_pi = 2.0 * mc::pi<double>();
+ double const half = 0.5;
+ double const two = 2.0;
+ double const four = 4.0;
+
             // Distance p1 p2
             double a = state.distance_over_unit_sphere.apply(p1, p2);
 
             // Sides on unit sphere to south pole
- double b = 0.5 * math::pi - geometry::get_as_radian<1>(p2);
- double c = 0.5 * math::pi - geometry::get_as_radian<1>(p1);
+ double b = half * mc::pi<double>() - geometry::get_as_radian<1>(p2);
+ double c = half * mc::pi<double>() - geometry::get_as_radian<1>(p1);
 
             // Semi parameter
- double s = 0.5 * (a + b + c);
+ double s = half * (a + b + c);
 
             // E: spherical excess, using l'Huiller's formula
             // [tg(e / 4)]2 = tg[s / 2] tg[(s-a) / 2] tg[(s-b) / 2] tg[(s-c) / 2]
- double E = 4.0 * atan(sqrt(geometry::math::abs(tan(s / 2)
- * tan((s - a) / 2)
- * tan((s - b) / 2)
- * tan((s - c) / 2))));
+ double E = four * atan(sqrt(geometry::math::abs(tan(s / two)
+ * tan((s - a) / two)
+ * tan((s - b) / two)
+ * tan((s - c) / two))));
 
             E = geometry::math::abs(E);
 
@@ -107,11 +117,11 @@
             // TODO: check this / enhance this, should be more robust. See also the "grow" for ll
             // TODO: use minmax or "smaller"/"compare" strategy for this
             double lon1 = geometry::get_as_radian<0>(p1) < 0
- ? geometry::get_as_radian<0>(p1) + math::two_pi
+ ? geometry::get_as_radian<0>(p1) + two_pi
                 : geometry::get_as_radian<0>(p1);
 
             double lon2 = geometry::get_as_radian<0>(p2) < 0
- ? geometry::get_as_radian<0>(p2) + math::two_pi
+ ? geometry::get_as_radian<0>(p2) + two_pi
                 : geometry::get_as_radian<0>(p2);
 
             if (lon2 < lon1)

Modified: sandbox/geometry/boost/geometry/strategies/spherical/compare_circular.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/strategies/spherical/compare_circular.hpp (original)
+++ sandbox/geometry/boost/geometry/strategies/spherical/compare_circular.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -8,9 +8,12 @@
 #ifndef BOOST_GEOMETRY_STRATEGIES_SPHERICAL_COMPARE_SPHERICAL_HPP
 #define BOOST_GEOMETRY_STRATEGIES_SPHERICAL_COMPARE_SPHERICAL_HPP
 
+#include <boost/math/constants/constants.hpp>
+
 #include <boost/geometry/core/cs.hpp>
 #include <boost/geometry/core/tags.hpp>
 #include <boost/geometry/strategies/compare.hpp>
+#include <boost/geometry/util/math.hpp>
 
 
 namespace boost { namespace geometry
@@ -40,8 +43,8 @@
 template <>
 struct shift<radian>
 {
- static inline double full() { return geometry::math::two_pi; }
- static inline double half() { return geometry::math::pi; }
+ static inline double full() { return 2.0 * boost::math::constants::pi<double>(); }
+ static inline double half() { return boost::math::constants::pi<double>(); }
 };
 
 } // namespace detail

Modified: sandbox/geometry/boost/geometry/strategies/spherical/side_by_cross_track.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/strategies/spherical/side_by_cross_track.hpp (original)
+++ sandbox/geometry/boost/geometry/strategies/spherical/side_by_cross_track.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -16,6 +16,7 @@
 #include <boost/geometry/core/radian_access.hpp>
 
 #include <boost/geometry/util/select_coordinate_type.hpp>
+#include <boost/geometry/util/math.hpp>
 
 #include <boost/geometry/strategies/side.hpp>
 //#include <boost/geometry/strategies/concepts/side_concept.hpp>

Modified: sandbox/geometry/boost/geometry/util/math.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/util/math.hpp (original)
+++ sandbox/geometry/boost/geometry/util/math.hpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -80,23 +80,7 @@
 }
 
 
-// TODO: The idea is to replace "double const globals" with inline
-// template functions, so code/data is not generated if not necessary.
-// --mloskot
-//template <typename T>
-//inline T pi()
-//{
-// return boost::math::constants::pi<T>();
-//}
-//
-//template <>
-//inline double pi<double>()
-//{
-// return boost::math::constants::pi<double>();
-//}
-double const pi = boost::math::constants::pi<double>();
-double const two_pi = 2.0 * pi;
-double const d2r = pi / 180.0;
+double const d2r = boost::math::constants::pi<double>() / 180.0;
 double const r2d = 1.0 / d2r;
 
 /*!

Modified: sandbox/geometry/libs/geometry/test/algorithms/area.cpp
==============================================================================
--- sandbox/geometry/libs/geometry/test/algorithms/area.cpp (original)
+++ sandbox/geometry/libs/geometry/test/algorithms/area.cpp 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -7,6 +7,8 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 
 
+#include <boost/math/constants/constants.hpp>
+
 #include <algorithms/test_area.hpp>
 
 #include <boost/geometry/geometries/point.hpp>
@@ -47,7 +49,7 @@
     boost::geometry::polygon<Point> geometry;
 
     // unit-sphere has area of 4-PI. Polygon covering 1/8 of it:
- double expected = 4.0 * boost::geometry::math::pi / 8.0;
+ double expected = 4.0 * boost::math::constants::pi<double>() / 8.0;
     boost::geometry::read_wkt("POLYGON((0 0,0 90,90 0,0 0))", geometry);
 
     double area = boost::geometry::area(geometry);

Modified: sandbox/geometry/libs/geometry/test/iterators/iterators.sln
==============================================================================
--- sandbox/geometry/libs/geometry/test/iterators/iterators.sln (original)
+++ sandbox/geometry/libs/geometry/test/iterators/iterators.sln 2010-07-04 09:26:08 EDT (Sun, 04 Jul 2010)
@@ -1,14 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 9.00
 # Visual C++ Express 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ever_circling_iterator", "ever_circling_iterator.vcproj", "{73F8C969-FA1E-4D9D-81F9-35B1206F0C14}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "circular_iterator", "circular_iterator.vcproj", "{46571A34-B68D-4854-90C0-56D29EE63FFE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "segment_iterator", "segment_iterator.vcproj", "{A38B1CA8-5194-4FAD-B85E-55697BEECCB7}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ggl_headers", "..\ggl_headers.vcproj", "{B3B37654-5AB4-49F3-A1D3-DFDE73EA5E1A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "closing_iterator", "closing_iterator.vcproj", "{04C31A2D-BE88-4FDB-AFFE-EFDFFA9D9C39}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ever_circling_closeable_reversible_iterator", "ever_circling_closeable_reversible_iterator.vcproj", "{8EC8E503-BCB9-4A58-AC33-D61B3B0C2EAF}"
 EndProject
 Global
         GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -16,26 +8,10 @@
                 Release|Win32 = Release|Win32
         EndGlobalSection
         GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {73F8C969-FA1E-4D9D-81F9-35B1206F0C14}.Debug|Win32.ActiveCfg = Debug|Win32
- {73F8C969-FA1E-4D9D-81F9-35B1206F0C14}.Debug|Win32.Build.0 = Debug|Win32
- {73F8C969-FA1E-4D9D-81F9-35B1206F0C14}.Release|Win32.ActiveCfg = Release|Win32
- {73F8C969-FA1E-4D9D-81F9-35B1206F0C14}.Release|Win32.Build.0 = Release|Win32
- {46571A34-B68D-4854-90C0-56D29EE63FFE}.Debug|Win32.ActiveCfg = Debug|Win32
- {46571A34-B68D-4854-90C0-56D29EE63FFE}.Debug|Win32.Build.0 = Debug|Win32
- {46571A34-B68D-4854-90C0-56D29EE63FFE}.Release|Win32.ActiveCfg = Release|Win32
- {46571A34-B68D-4854-90C0-56D29EE63FFE}.Release|Win32.Build.0 = Release|Win32
- {A38B1CA8-5194-4FAD-B85E-55697BEECCB7}.Debug|Win32.ActiveCfg = Debug|Win32
- {A38B1CA8-5194-4FAD-B85E-55697BEECCB7}.Debug|Win32.Build.0 = Debug|Win32
- {A38B1CA8-5194-4FAD-B85E-55697BEECCB7}.Release|Win32.ActiveCfg = Release|Win32
- {A38B1CA8-5194-4FAD-B85E-55697BEECCB7}.Release|Win32.Build.0 = Release|Win32
- {B3B37654-5AB4-49F3-A1D3-DFDE73EA5E1A}.Debug|Win32.ActiveCfg = Debug|Win32
- {B3B37654-5AB4-49F3-A1D3-DFDE73EA5E1A}.Debug|Win32.Build.0 = Debug|Win32
- {B3B37654-5AB4-49F3-A1D3-DFDE73EA5E1A}.Release|Win32.ActiveCfg = Release|Win32
- {B3B37654-5AB4-49F3-A1D3-DFDE73EA5E1A}.Release|Win32.Build.0 = Release|Win32
- {04C31A2D-BE88-4FDB-AFFE-EFDFFA9D9C39}.Debug|Win32.ActiveCfg = Debug|Win32
- {04C31A2D-BE88-4FDB-AFFE-EFDFFA9D9C39}.Debug|Win32.Build.0 = Debug|Win32
- {04C31A2D-BE88-4FDB-AFFE-EFDFFA9D9C39}.Release|Win32.ActiveCfg = Release|Win32
- {04C31A2D-BE88-4FDB-AFFE-EFDFFA9D9C39}.Release|Win32.Build.0 = Release|Win32
+ {8EC8E503-BCB9-4A58-AC33-D61B3B0C2EAF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8EC8E503-BCB9-4A58-AC33-D61B3B0C2EAF}.Debug|Win32.Build.0 = Debug|Win32
+ {8EC8E503-BCB9-4A58-AC33-D61B3B0C2EAF}.Release|Win32.ActiveCfg = Release|Win32
+ {8EC8E503-BCB9-4A58-AC33-D61B3B0C2EAF}.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