From 6beccce25fb2491068ef7f8a40da13fd26032bcd Mon Sep 17 00:00:00 2001 From: Menelaos Karavelas Date: Wed, 29 Oct 2014 19:43:13 +0200 Subject: [PATCH] [core][cs] change namespace core_dispatch to namespace core_detail; for non-Cartesian CS's do not derive from core_detail::coordinate_system_units, but rather use core_detail::coordinate_system_units to define the units type; --- include/boost/geometry/core/cs.hpp | 48 +++++++++++++++++------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/include/boost/geometry/core/cs.hpp b/include/boost/geometry/core/cs.hpp index 16ed1cc67..f1afe302e 100644 --- a/include/boost/geometry/core/cs.hpp +++ b/include/boost/geometry/core/cs.hpp @@ -47,8 +47,8 @@ struct degree {}; struct radian {}; -#ifndef DOXYGEN_NO_DISPATCH -namespace core_dispatch +#ifndef DOXYGEN_NO_DETAIL +namespace core_detail { template @@ -74,8 +74,8 @@ struct coordinate_system_units typedef geometry::radian units; }; -} // namespace core_dispatch -#endif // DOXYGEN_NO_DISPATCH +} // namespace core_detail +#endif // DOXYGEN_NO_DETAIL namespace cs @@ -105,10 +105,12 @@ known as lat,long or lo,la or phi,lambda */ template struct geographic -#ifndef DOXYGEN_SHOULD_SKIP_THIS - : core_dispatch::coordinate_system_units -#endif // DOXYGEN_SHOULD_SKIP_THIS -{}; +{ + typedef typename core_detail::coordinate_system_units + < + DegreeOrRadian + >::units units; +}; @@ -132,10 +134,12 @@ struct geographic */ template struct spherical -#ifndef DOXYGEN_SHOULD_SKIP_THIS - : core_dispatch::coordinate_system_units -#endif // DOXYGEN_SHOULD_SKIP_THIS -{}; +{ + typedef typename core_detail::coordinate_system_units + < + DegreeOrRadian + >::units units; +}; /*! @@ -150,10 +154,12 @@ struct spherical */ template struct spherical_equatorial -#ifndef DOXYGEN_SHOULD_SKIP_THIS - : core_dispatch::coordinate_system_units -#endif // DOXYGEN_SHOULD_SKIP_THIS -{}; +{ + typedef typename core_detail::coordinate_system_units + < + DegreeOrRadian + >::units units; +}; @@ -166,10 +172,12 @@ struct spherical_equatorial */ template struct polar -#ifndef DOXYGEN_SHOULD_SKIP_THIS - : core_dispatch::coordinate_system_units -#endif // DOXYGEN_SHOULD_SKIP_THIS -{}; +{ + typedef typename core_detail::coordinate_system_units + < + DegreeOrRadian + >::units units; +}; } // namespace cs