Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71329 - in trunk/boost/geometry: . core
From: barend.gehrels_at_[hidden]
Date: 2011-04-16 16:42:58


Author: barendgehrels
Date: 2011-04-16 16:42:57 EDT (Sat, 16 Apr 2011)
New Revision: 71329
URL: http://svn.boost.org/trac/boost/changeset/71329

Log:
Doc update (metafunctions tag, tag_cast, point_type)

Text files modified:
   trunk/boost/geometry/core/coordinate_dimension.hpp | 1 -
   trunk/boost/geometry/core/point_type.hpp | 7 +++++--
   trunk/boost/geometry/core/tag.hpp | 8 ++++----
   trunk/boost/geometry/core/tag_cast.hpp | 24 +++++++++++++++++++++++-
   trunk/boost/geometry/geometry.hpp | 1 +
   5 files changed, 33 insertions(+), 8 deletions(-)

Modified: trunk/boost/geometry/core/coordinate_dimension.hpp
==============================================================================
--- trunk/boost/geometry/core/coordinate_dimension.hpp (original)
+++ trunk/boost/geometry/core/coordinate_dimension.hpp 2011-04-16 16:42:57 EDT (Sat, 16 Apr 2011)
@@ -22,7 +22,6 @@
 #include <boost/static_assert.hpp>
 #include <boost/type_traits/remove_const.hpp>
 
-#include <boost/geometry/core/coordinate_dimension.hpp>
 #include <boost/geometry/core/point_type.hpp>
 
 namespace boost { namespace geometry

Modified: trunk/boost/geometry/core/point_type.hpp
==============================================================================
--- trunk/boost/geometry/core/point_type.hpp (original)
+++ trunk/boost/geometry/core/point_type.hpp 2011-04-16 16:42:57 EDT (Sat, 16 Apr 2011)
@@ -106,8 +106,11 @@
 
 
 /*!
- \brief Meta-function which defines point type of any geometry
- \ingroup core
+\brief \brief_meta{type, point_type, \meta_geometry_type}
+\tparam Geometry \tparam_geometry
+\ingroup core
+
+\qbk{[include reference/core/point_type.qbk]}
 */
 template <typename Geometry>
 struct point_type

Modified: trunk/boost/geometry/core/tag.hpp
==============================================================================
--- trunk/boost/geometry/core/tag.hpp (original)
+++ trunk/boost/geometry/core/tag.hpp 2011-04-16 16:42:57 EDT (Sat, 16 Apr 2011)
@@ -48,11 +48,11 @@
 
 
 /*!
-\brief Meta-function to get the tag of any geometry type
-\details All geometries tell their geometry type (point, linestring, polygon, etc) by implementing
- a tag traits class. This meta-function uses that traits class to retrieve the tag.
-\tparam Geometry geometry
+\brief \brief_meta{type, tag, \meta_geometry_type}
+\tparam Geometry \tparam_geometry
 \ingroup core
+
+\qbk{[include reference/core/tag.qbk]}
 */
 template <typename Geometry>
 struct tag

Modified: trunk/boost/geometry/core/tag_cast.hpp
==============================================================================
--- trunk/boost/geometry/core/tag_cast.hpp (original)
+++ trunk/boost/geometry/core/tag_cast.hpp 2011-04-16 16:42:57 EDT (Sat, 16 Apr 2011)
@@ -21,7 +21,25 @@
 namespace boost { namespace geometry
 {
 
-/// Generic tag_cast utility
+/*!
+\brief Metafunction defining a type being either the specified tag, or one
+ of the specified basetags if the type inherits from them.
+\details Tags can inherit each other. A multi_point inherits, for example,
+ both the multi_tag and the pointlike tag. Often behaviour can be shared
+ between different geometry types. A tag, found by the metafunction tag,
+ can be casted to a more basic tag, and then dispatched by that tag.
+\ingroup core
+\tparam Tag The tag to be casted to one of the base tags
+\tparam BaseTag First base tag
+\tparam BaseTag2 Optional second base tag
+\tparam BaseTag3 Optional third base tag
+\tparam BaseTag4 Optional fourth base tag
+\tparam BaseTag5 Optional fifth base tag
+\tparam BaseTag6 Optional sixth base tag
+\tparam BaseTag7 Optional seventh base tag
+
+\qbk{[include reference/core/tag_cast.qbk]}
+*/
 template
 <
     typename Tag,
@@ -48,6 +66,8 @@
>::type type;
 };
 
+#ifndef DOXYGEN_NO_SPECIALIZATIONS
+
 // Specialization for last one
 template <typename Tag>
 struct tag_cast<Tag, void, void, void, void, void, void, void>
@@ -56,6 +76,8 @@
     typedef Tag type;
 };
 
+#endif // DOXYGEN_NO_SPECIALIZATIONS
+
 
 }} // namespace boost::geometry
 

Modified: trunk/boost/geometry/geometry.hpp
==============================================================================
--- trunk/boost/geometry/geometry.hpp (original)
+++ trunk/boost/geometry/geometry.hpp 2011-04-16 16:42:57 EDT (Sat, 16 Apr 2011)
@@ -19,6 +19,7 @@
 
 #include <boost/geometry/core/cs.hpp>
 #include <boost/geometry/core/tag.hpp>
+#include <boost/geometry/core/tag_cast.hpp>
 #include <boost/geometry/core/tags.hpp>
 
 // Core algorithms


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