|
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