Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71490 - trunk/boost/geometry/geometries/register
From: barend.gehrels_at_[hidden]
Date: 2011-04-25 17:19:27


Author: barendgehrels
Date: 2011-04-25 17:19:26 EDT (Mon, 25 Apr 2011)
New Revision: 71490
URL: http://svn.boost.org/trac/boost/changeset/71490

Log:
Documented box, renamed TEMPLATIZED TEMPLATED
Removed registration of linestring/ring as it will be replaced by view or view_as
Removed:
   trunk/boost/geometry/geometries/register/linestring.hpp
   trunk/boost/geometry/geometries/register/ring.hpp
Text files modified:
   trunk/boost/geometry/geometries/register/box.hpp | 72 +++++++++++++++++++++++++++++++++------
   1 files changed, 61 insertions(+), 11 deletions(-)

Modified: trunk/boost/geometry/geometries/register/box.hpp
==============================================================================
--- trunk/boost/geometry/geometries/register/box.hpp (original)
+++ trunk/boost/geometry/geometries/register/box.hpp 2011-04-25 17:19:26 EDT (Mon, 25 Apr 2011)
@@ -40,7 +40,7 @@
 };
 
 
-#define BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATIZED(Box, MinCorner, MaxCorner) \
+#define BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATED(Box, MinCorner, MaxCorner) \
 template <typename P, size_t D> \
 struct indexed_access<Box<P>, min_corner, D> \
 { \
@@ -94,7 +94,7 @@
     template<> struct tag<Box > { typedef box_tag type; }; \
     template<> struct point_type<Box > { typedef PointType type; };
 
-#define BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATIZED(Box) \
+#define BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATED(Box) \
     template<typename P> struct tag<Box<P> > { typedef box_tag type; }; \
     template<typename P> struct point_type<Box<P> > { typedef P type; };
 
@@ -102,23 +102,73 @@
 
 
 
-#define BOOST_GEOMETRY_REGISTER_BOX(Box, PointType, MinCorner, MaxCorner) \
+/*!
+\brief \brief_macro{box}
+\ingroup register
+\details \details_macro{BOOST_GEOMETRY_REGISTER_BOX, box} The
+ box may contain template parameters, which must be specified then.
+\param Box \param_macro_type{Box}
+\param Point Point type on which box is based. Might be two or three-dimensional
+\param MinCorner minimum corner (should be public member or method)
+\param MaxCorner maximum corner (should be public member or method)
+
+\qbk{
+[heading Example]
+[register_box]
+[register_box_output]
+}
+*/
+#define BOOST_GEOMETRY_REGISTER_BOX(Box, Point, MinCorner, MaxCorner) \
 namespace boost { namespace geometry { namespace traits { \
- BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \
- BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, PointType, MinCorner, MaxCorner) \
+ BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, Point) \
+ BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, Point, MinCorner, MaxCorner) \
 }}}
 
 
-#define BOOST_GEOMETRY_REGISTER_BOX_TEMPLATIZED(Box, MinCorner, MaxCorner) \
+/*!
+\brief \brief_macro{box}
+\ingroup register
+\details \details_macro{BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED, box}
+ \details_macro_templated{box}
+\param Box \param_macro_type{Box}
+\param MinCorner minimum corner (should be public member or method)
+\param MaxCorner maximum corner (should be public member or method)
+
+\qbk{
+[heading Example]
+[register_box_templated]
+[register_box_templated_output]
+}
+*/
+#define BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED(Box, MinCorner, MaxCorner) \
 namespace boost { namespace geometry { namespace traits { \
- BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATIZED(Box) \
- BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATIZED(Box, MinCorner, MaxCorner) \
+ BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATED(Box) \
+ BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATED(Box, MinCorner, MaxCorner) \
 }}}
 
-#define BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES(Box, PointType, Left, Bottom, Right, Top) \
+/*!
+\brief \brief_macro{box}
+\ingroup register
+\details \details_macro{BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES, box}
+\param Box \param_macro_type{Box}
+\param Point Point type reported as point_type by box. Must be two dimensional.
+ Note that these box tyeps do not contain points, but they must have a
+ related point_type
+\param Left Left side (must be public member or method)
+\param Bottom Bottom side (must be public member or method)
+\param Right Right side (must be public member or method)
+\param Top Top side (must be public member or method)
+
+\qbk{
+[heading Example]
+[register_box_2d_4values]
+[register_box_2d_4values_output]
+}
+*/
+#define BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES(Box, Point, Left, Bottom, Right, Top) \
 namespace boost { namespace geometry { namespace traits { \
- BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, PointType) \
- BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, PointType, Left, Bottom, Right, Top) \
+ BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, Point) \
+ BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, Point, Left, Bottom, Right, Top) \
 }}}
 
 

Deleted: trunk/boost/geometry/geometries/register/linestring.hpp
==============================================================================
--- trunk/boost/geometry/geometries/register/linestring.hpp 2011-04-25 17:19:26 EDT (Mon, 25 Apr 2011)
+++ (empty file)
@@ -1,30 +0,0 @@
-// Boost.Geometry (aka GGL, Generic Geometry Library)
-
-// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
-// Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
-// Copyright (c) 2009-2011 Mateusz Loskot, London, UK.
-
-// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
-// (geolib/GGL), copyright (c) 1995-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_GEOMETRIES_REGISTER_LINESTRING_HPP
-#define BOOST_GEOMETRY_GEOMETRIES_REGISTER_LINESTRING_HPP
-
-
-#include <boost/geometry/core/tag.hpp>
-#include <boost/geometry/core/tags.hpp>
-
-
-#define BOOST_GEOMETRY_REGISTER_LINESTRING(Linestring) \
-namespace boost { namespace geometry { namespace traits { \
- template<> struct tag<Linestring> { typedef linestring_tag type; }; \
-}}}
-
-
-
-#endif // BOOST_GEOMETRY_GEOMETRIES_REGISTER_LINESTRING_HPP

Deleted: trunk/boost/geometry/geometries/register/ring.hpp
==============================================================================
--- trunk/boost/geometry/geometries/register/ring.hpp 2011-04-25 17:19:26 EDT (Mon, 25 Apr 2011)
+++ (empty file)
@@ -1,33 +0,0 @@
-// Boost.Geometry (aka GGL, Generic Geometry Library)
-
-// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
-// Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
-// Copyright (c) 2009-2011 Mateusz Loskot, London, UK.
-
-// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
-// (geolib/GGL), copyright (c) 1995-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_GEOMETRIES_REGISTER_RING_HPP
-#define BOOST_GEOMETRY_GEOMETRIES_REGISTER_RING_HPP
-
-#include <boost/geometry/core/tag.hpp>
-#include <boost/geometry/core/tags.hpp>
-
-#define BOOST_GEOMETRY_REGISTER_RING(Ring) \
-namespace boost { namespace geometry { namespace traits { \
- template<> struct tag<Ring> { typedef ring_tag type; }; \
-}}}
-
-
-#define BOOST_GEOMETRY_REGISTER_RING_TEMPLATIZED(Ring) \
-namespace boost { namespace geometry { namespace traits { \
- template<typename P> struct tag< Ring<P> > { typedef ring_tag type; }; \
-}}}
-
-
-#endif // BOOST_GEOMETRY_GEOMETRIES_REGISTER_RING_HPP


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