|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r68575 - in trunk/libs/geometry/doc: . doxy doxy/doxygen_input/groups ref/algorithms reference src/docutils/tools/doxygen_xml2qbk
From: barend.gehrels_at_[hidden]
Date: 2011-01-30 16:53:31
Author: barendgehrels
Date: 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
New Revision: 68575
URL: http://svn.boost.org/trac/boost/changeset/68575
Log:
Doc update, doc tool update
Added:
trunk/libs/geometry/doc/reference/area_surveyor.qbk (contents, props changed)
trunk/libs/geometry/doc/reference/centroid_exception.qbk (contents, props changed)
trunk/libs/geometry/doc/reference/enum.qbk (contents, props changed)
trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini (contents, props changed)
Text files modified:
trunk/libs/geometry/doc/doxy/Doxyfile | 86 ++--------------
trunk/libs/geometry/doc/doxy/doxygen_input/groups/groups.hpp | 1
trunk/libs/geometry/doc/geometry.qbk | 3
trunk/libs/geometry/doc/make_qbk.py | 75 ++++++++------
trunk/libs/geometry/doc/quickref.xml | 7
trunk/libs/geometry/doc/ref/algorithms/centroid.qbk | 7
trunk/libs/geometry/doc/reference.qbk | 9 +
trunk/libs/geometry/doc/reference/area.qbk | 2
trunk/libs/geometry/doc/reference/area_huiller.qbk | 4
trunk/libs/geometry/doc/reference/box.qbk | 2
trunk/libs/geometry/doc/reference/box_range.qbk | 2
trunk/libs/geometry/doc/reference/centroid.qbk | 8 +
trunk/libs/geometry/doc/reference/centroid_average.qbk | 2
trunk/libs/geometry/doc/reference/centroid_bashein_detmer.qbk | 5
trunk/libs/geometry/doc/reference/circular_iterator.qbk | 2
trunk/libs/geometry/doc/reference/closing_iterator.qbk | 2
trunk/libs/geometry/doc/reference/closure.qbk | 5
trunk/libs/geometry/doc/reference/convex_hull_graham_andrew.qbk | 2
trunk/libs/geometry/doc/reference/distance.qbk | 2
trunk/libs/geometry/doc/reference/distance_cross_track.qbk | 6
trunk/libs/geometry/doc/reference/distance_haversine.qbk | 4
trunk/libs/geometry/doc/reference/distance_projected_point.qbk | 6
trunk/libs/geometry/doc/reference/distance_pythagoras.qbk | 4
trunk/libs/geometry/doc/reference/ever_circling_iterator.qbk | 2
trunk/libs/geometry/doc/reference/exception.qbk | 8 +
trunk/libs/geometry/doc/reference/identity_view.qbk | 2
trunk/libs/geometry/doc/reference/length.qbk | 2
trunk/libs/geometry/doc/reference/point.qbk | 2
trunk/libs/geometry/doc/reference/point_order.qbk | 5
trunk/libs/geometry/doc/reference/point_xy.qbk | 3
trunk/libs/geometry/doc/reference/polygon.qbk | 2
trunk/libs/geometry/doc/reference/segment_range.qbk | 2
trunk/libs/geometry/doc/reference/segment_range_iterator.qbk | 2
trunk/libs/geometry/doc/reference/side_side_by_cross_track.qbk | 2
trunk/libs/geometry/doc/reference/side_side_by_triangle.qbk | 2
trunk/libs/geometry/doc/reference/simplify_douglas_peucker.qbk | 2
trunk/libs/geometry/doc/reference/transform_inverse_transformer.qbk | 1
trunk/libs/geometry/doc/reference/transform_map_transformer.qbk | 1
trunk/libs/geometry/doc/reference/within.qbk | 15 ++
trunk/libs/geometry/doc/reference/within_crossings_multiply.qbk | 2
trunk/libs/geometry/doc/reference/within_franklin.qbk | 5
trunk/libs/geometry/doc/reference/within_winding.qbk | 5
trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp | 61 +++++++++--
trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp | 4
trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp | 139 ++++++++++++++++++++++++----
trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp | 198 ++++++++++++++++++++++++++++-----------
46 files changed, 465 insertions(+), 248 deletions(-)
Modified: trunk/libs/geometry/doc/doxy/Doxyfile
==============================================================================
--- trunk/libs/geometry/doc/doxy/Doxyfile (original)
+++ trunk/libs/geometry/doc/doxy/Doxyfile 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -80,11 +80,12 @@
details_calc{1}="The free function \1 calculates the \1 of a geometry" \
details_calc2{2}="The free function \1 calculates the \2 of two geometries" \
details_calc2{1}="The free function \1 calculates the \1 of two geometries" \
+ details_check12{2}="The free function \1 checks if the first geometry \2 the second geometry" \
details_macro{2}="The macro \1 registers a \2 such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type" \
details_macro_const="The const version registers only read access to the fields, the point type is therefore read-only" \
details_macro_getset="The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates" \
details_default_strategy="It uses the default strategy, based on the coordinate system of the geometry." \
- details_strategy_reasons="Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)" \
+ details_strategy_reasons="Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation." \
details_make{1}="This version with the make_ prefix returns the \1, and a template parameter must therefore be specified in the call." \
details_inserter{1}="This version with the _inserter suffix outputs the \1 to an output iterator, and a template parameter must therefore be specified in the call." \
return_calc{1}="The calculated \1" \
@@ -249,37 +250,7 @@
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = YES
-USE_PDFLATEX = YES
-LATEX_BATCHMODE = NO
-LATEX_HIDE_INDICES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
+
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
@@ -288,17 +259,17 @@
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = NO
+
#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
+# Configuration options turned off
#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+GENERATE_MAN = NO
+GENERATE_RTF = NO
GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
+
+
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
@@ -321,41 +292,8 @@
DOXYGEN_NO_SPECIALIZATIONS
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = NO
-MSCGEN_PATH =
-HIDE_UNDOC_RELATIONS = YES
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-GROUP_GRAPHS = YES
-UML_LOOK = NO
-TEMPLATE_RELATIONS = NO
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-CALL_GRAPH = NO
-CALLER_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DIRECTORY_GRAPH = YES
-DOT_IMAGE_FORMAT = png
-DOT_PATH =
-DOTFILE_DIRS =
-DOT_GRAPH_MAX_NODES = 50
-MAX_DOT_GRAPH_DEPTH = 0
-DOT_TRANSPARENT = YES
-DOT_MULTI_TARGETS = NO
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
+
+
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
Modified: trunk/libs/geometry/doc/doxy/doxygen_input/groups/groups.hpp
==============================================================================
--- trunk/libs/geometry/doc/doxy/doxygen_input/groups/groups.hpp (original)
+++ trunk/libs/geometry/doc/doxy/doxygen_input/groups/groups.hpp 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -27,6 +27,7 @@
\defgroup difference difference: difference of two geometries
\defgroup disjoint disjoint: detect if geometries are not spatially related
\defgroup distance distance: calculate distance between two geometries
+\defgroup enum enum: enumerations
\defgroup envelope envelope: calculate envelope (minimum bounding rectangle) of a geometry
\defgroup equals equals: detect if two geometries are spatially equal
\defgroup exterior_ring exterior_ring: exterior_ring
Modified: trunk/libs/geometry/doc/geometry.qbk
==============================================================================
--- trunk/libs/geometry/doc/geometry.qbk (original)
+++ trunk/libs/geometry/doc/geometry.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -41,7 +41,8 @@
[def __point__ Point]
[def __linestring__ Linestring]
[def __polygon__ Polygon]
-[def __multi_polygon__ Multi-polygon]
+[def __multi_point__ Multi point]
+[def __multi_polygon__ Multi Polygon]
[def __range__ Rangelike (linestring, ring)]
[def __other__ Other geometries]
Modified: trunk/libs/geometry/doc/make_qbk.py
==============================================================================
--- trunk/libs/geometry/doc/make_qbk.py (original)
+++ trunk/libs/geometry/doc/make_qbk.py 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -7,7 +7,7 @@
#
# 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)9
+# http://www.boost.org/LICENSE_1_0.txt)
# ============================================================================
import os, sys
@@ -29,7 +29,10 @@
def group_to_quickbook(section):
os.system(cmd % ("group__" + section.replace("_", "__"), section))
-def model_to_quickbook(classname, section):
+def model_to_quickbook(section):
+ os.system(cmd % ("classboost_1_1geometry_1_1model_1_1" + section.replace("_", "__"), section))
+
+def model_to_quickbook2(classname, section):
os.system(cmd % ("classboost_1_1geometry_1_1model_1_1" + classname, section))
def struct_to_quickbook(section):
@@ -59,19 +62,27 @@
, "length", "num_geometries", "num_interior_rings", "num_points"
, "overlaps", "perimeter", "reverse", "simplify", "sym_difference"
, "transform", "union", "unique", "within"]
+
access_functions = ["get", "set", "exterior_ring", "interior_rings"
, "num_points", "num_interior_rings", "num_geometries"]
+coordinate_systems = ["cartesian", "geographic", "polar", "spherical"]
+
core = ["closure", "coordinate_system", "coordinate_type", "cs_tag"
, "dimension", "exception", "geometry_id", "interior_type"
, "is_areal", "is_linear", "is_multi", "is_radian", "point_order"
, "point_type", "ring_type", "tag", "topological_dimension" ]
+exceptions = ["exception", "centroid_exception"];
+
iterators = ["box_iterator", "circular_iterator", "closing_iterator"
, "ever_circling_iterator", "segment_range_iterator"]
+models = ["point", "linestring", "box"
+ , "polygon", "segment", "ring"
+ , "multi_linestring", "multi_point", "multi_polygon", "referring_segment"]
+
ranges = ["box_range", "segment_range"];
-views = ["closeable_view", "reversible_view", "identity_view"]
strategies = ["distance::pythagoras", "distance::haversine"
, "distance::cross_track", "distance::projected_point"
@@ -86,49 +97,45 @@
, "transform::translate_transformer", "transform::ublas_transformer"
]
-coordinate_systems = ["cartesian", "geographic", "polar", "spherical"]
+views = ["closeable_view", "reversible_view", "identity_view"]
-for a in algorithms:
- group_to_quickbook(a)
+for i in algorithms:
+ group_to_quickbook(i)
-for a in access_functions:
- group_to_quickbook(a)
+for i in access_functions:
+ group_to_quickbook(i)
-for a in core:
- struct_to_quickbook(a)
+for i in coordinate_systems:
+ cs_to_quickbook(i)
-for a in iterators:
- struct_to_quickbook(a)
+for i in core:
+ struct_to_quickbook(i)
-for a in views:
- struct_to_quickbook(a)
-
-for a in ranges:
- class_to_quickbook(a)
+for i in exceptions:
+ class_to_quickbook(i)
+
+for i in iterators:
+ struct_to_quickbook(i)
+
+for i in models:
+ model_to_quickbook(i)
+
+for i in ranges:
+ class_to_quickbook(i)
-for a in strategies:
- strategy_to_quickbook(a)
+for i in strategies:
+ strategy_to_quickbook(i)
-for a in coordinate_systems:
- cs_to_quickbook(a)
+for i in views:
+ struct_to_quickbook(i)
+model_to_quickbook2("d2_1_1point__xy", "point_xy")
+
group_to_quickbook("arithmetic")
group_to_quickbook("register")
-
-model_to_quickbook("point", "point")
-model_to_quickbook("d2_1_1point__xy", "point_xy")
-model_to_quickbook("linestring", "linestring")
-model_to_quickbook("box", "box")
-model_to_quickbook("polygon", "polygon")
-model_to_quickbook("segment", "segment")
-model_to_quickbook("multi__linestring", "multi_linestring")
-model_to_quickbook("multi__point", "multi_point")
-model_to_quickbook("multi__polygon", "multi_polygon")
-model_to_quickbook("ring", "ring")
-model_to_quickbook("referring__segment", "referring_segment")
-
+group_to_quickbook("enum")
os.system("bjam")
Modified: trunk/libs/geometry/doc/quickref.xml
==============================================================================
--- trunk/libs/geometry/doc/quickref.xml (original)
+++ trunk/libs/geometry/doc/quickref.xml 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -168,8 +168,8 @@
</simplelist>
<bridgehead renderas="sect3">Classes</bridgehead>
<simplelist type="vert" columns="1">
- <member><link linkend="geometry.reference.exception">exception</link></member>
- <member> <link linkend="geometry.reference.centroid_exception">centroid_exception</link></member>
+ <member><link linkend="geometry.reference.exceptions.exception">exception</link></member>
+ <member> <link linkend="geometry.reference.exceptions.centroid_exception">centroid_exception</link></member>
</simplelist>
</entry>
</row>
@@ -198,7 +198,8 @@
<simplelist type="vert" columns="1">
<member><link linkend="geometry.reference.max_corner">max_corner</link></member>
<member><link linkend="geometry.reference.min_corner">min_corner</link></member>
- <member><link linkend="geometry.reference.order_selector">order_selector</link></member>
+ <member><link linkend="geometry.reference.enumerations.order_selector">order_selector</link></member>
+ <member><link linkend="geometry.reference.enumerations.closure_selector">closure_selector</link></member>
</simplelist>
</entry>
<entry valign="top">
Modified: trunk/libs/geometry/doc/ref/algorithms/centroid.qbk
==============================================================================
--- trunk/libs/geometry/doc/ref/algorithms/centroid.qbk (original)
+++ trunk/libs/geometry/doc/ref/algorithms/centroid.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -13,12 +13,13 @@
[heading Behavior]
[table
[[Case] [Behavior] ]
-[[__0dim__][Calculates centroid]]
+[[__point__][Returns the point itself as the centroid]]
+[[__multi_point__][Calculates centroid]]
[[__1dim__][Calculates centroid]]
[[__2dim__][Calculates centroid]]
-[[__empty__][Throws a centroid_exception]]
+[[__empty__][Throws a [link geometry.reference.exceptions.centroid_exception centroid_exception] ]]
]
-
[heading Complexity]
Linear
+
Modified: trunk/libs/geometry/doc/reference.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference.qbk (original)
+++ trunk/libs/geometry/doc/reference.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -261,5 +261,14 @@
[include reference/arithmetic.qbk]
[endsect]
+[section:exceptions Exceptions]
+[include reference/exception.qbk]
+[include reference/centroid_exception.qbk]
+[endsect]
+
+[section:enumerations Enumerations]
+[include reference/enum.qbk]
+[endsect]
+
[endsect] [/reference]
Modified: trunk/libs/geometry/doc/reference/area.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/area.qbk (original)
+++ trunk/libs/geometry/doc/reference/area.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -18,7 +18,7 @@
Calculates the area of a geometry using the specified strategy.
[heading Description]
-The free function area calculates the area of a geometry using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)
+The free function area calculates the area of a geometry using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation.
[heading Synopsis]
``template<typename Geometry, typename Strategy>
Modified: trunk/libs/geometry/doc/reference/area_huiller.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/area_huiller.qbk (original)
+++ trunk/libs/geometry/doc/reference/area_huiller.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -47,7 +47,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``void apply (PointOfSegment const &p1, PointOfSegment const &p2, excess_sum &state) const ``
] [] [[* PointOfSegment const &]: ['p1]:
@@ -79,7 +79,7 @@
[heading See also]
-[link geometry.reference.algorithms.area.area_2_with_strategy area]
+[link geometry.reference.algorithms.area.area_2_with_strategy area (with strategy)]
[endsect]
Added: trunk/libs/geometry/doc/reference/area_surveyor.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/reference/area_surveyor.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -0,0 +1,70 @@
+[/============================================================================
+ Boost.Geometry (aka GGL, Generic Geometry Library)
+
+ Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands.
+ Copyright (c) 2009-2011 Mateusz Loskot (mateusz_at_[hidden])
+ Copyright (c) 2009-2011 Bruno Lalande, Paris, France.
+
+ 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)
+=============================================================================/]
+
+
+[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically]
+[/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1area_1_1surveyor.xml]
+[section:strategy_area_surveyor strategy::area::surveyor]
+
+Area calculation for cartesian points.
+
+[heading Description]
+Calculates area using the Surveyor's formula, a well-known triangulation algorithm
+
+[heading Synopsis]
+``template<typename PointOfSegment, typename CalculationType>
+class strategy::area::surveyor
+{
+ // ...
+};
+``
+
+[heading Template parameter(s)]
+[table
+[[Parameter] [Default] [Description]]
+[[typename PointOfSegment] [] [segment point type ]]
+[[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point]]
+]
+
+[heading Member Function(s)]
+[table
+[[Function] [Description] [Parameters] [Returns]]
+[[``void apply (PointOfSegment const &p1, PointOfSegment const &p2, summation &state)``
+
+] [] [[* PointOfSegment const &]: ['p1]:
+
+[* PointOfSegment const &]: ['p2]:
+
+[* summation &]: ['state]:
+
+
+
+
+]]
+[[``return_type result (summation const &state)``
+
+] [] [[* summation const &]: ['state]:
+
+
+
+
+]]
+]
+
+[heading Header]
+`#include <boost/geometry/strategies/cartesian/area_surveyor.hpp>`
+
+[heading See also]
+[link geometry.reference.algorithms.area.area_2_with_strategy area (with strategy)]
+
+[endsect]
+
Modified: trunk/libs/geometry/doc/reference/box.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/box.qbk (original)
+++ trunk/libs/geometry/doc/reference/box.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -57,7 +57,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``Point const & min_corner () const ``
] [] [
Modified: trunk/libs/geometry/doc/reference/box_range.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/box_range.qbk (original)
+++ trunk/libs/geometry/doc/reference/box_range.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -46,7 +46,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``const_iterator begin () const ``
] [] [
Modified: trunk/libs/geometry/doc/reference/centroid.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/centroid.qbk (original)
+++ trunk/libs/geometry/doc/reference/centroid.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -52,7 +52,7 @@
Calculates the centroid of a geometry using the specified strategy.
[heading Description]
-The free function centroid calculates the geometric center (or: center of mass) of a geometry
+The free function centroid calculates the geometric center (or: center of mass) of a geometry. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation.
[heading Synopsis]
``template<typename Geometry, typename Point, typename Strategy>
@@ -78,6 +78,8 @@
`#include <boost/geometry/algorithms/centroid.hpp>`
[include ref/algorithms/centroid.qbk]
+[heading Available Strategies]
+* [link geometry.reference.strategies.strategy_centroid_bashein_detmer Bashein Detmer (cartesian)]
[endsect]
@@ -87,7 +89,7 @@
Calculates the centroid of a geometry using the specified strategy.
[heading Description]
-The free function centroid calculates the geometric center (or: center of mass) of a geometry. This version with the make_ prefix returns the centroid, and a template parameter must therefore be specified in the call..
+The free function centroid calculates the geometric center (or: center of mass) of a geometry. This version with the make_ prefix returns the centroid, and a template parameter must therefore be specified in the call.. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation.
[heading Synopsis]
``template<typename Point, typename Geometry, typename Strategy>
@@ -116,6 +118,8 @@
`#include <boost/geometry/algorithms/centroid.hpp>`
[include ref/algorithms/centroid.qbk]
+[heading Available Strategies]
+* [link geometry.reference.strategies.strategy_centroid_bashein_detmer Bashein Detmer (cartesian)]
[endsect]
Modified: trunk/libs/geometry/doc/reference/centroid_average.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/centroid_average.qbk (original)
+++ trunk/libs/geometry/doc/reference/centroid_average.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -34,7 +34,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``void apply (Point const &p, sum &state)``
] [] [[* Point const &]: ['p]:
Modified: trunk/libs/geometry/doc/reference/centroid_bashein_detmer.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/centroid_bashein_detmer.qbk (original)
+++ trunk/libs/geometry/doc/reference/centroid_bashein_detmer.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -44,7 +44,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``void apply (PointOfSegment const &p1, PointOfSegment const &p2, sums &state)``
] [] [[* PointOfSegment const &]: ['p1]:
@@ -72,5 +72,8 @@
[heading Header]
`#include <boost/geometry/strategies/cartesian/centroid_bashein_detmer.hpp>`
+[heading See also]
+[link geometry.reference.algorithms.centroid.centroid_3_with_strategy centroid (with strategy)]
+
[endsect]
Added: trunk/libs/geometry/doc/reference/centroid_exception.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/reference/centroid_exception.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -0,0 +1,66 @@
+[/============================================================================
+ Boost.Geometry (aka GGL, Generic Geometry Library)
+
+ Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands.
+ Copyright (c) 2009-2011 Mateusz Loskot (mateusz_at_[hidden])
+ Copyright (c) 2009-2011 Bruno Lalande, Paris, France.
+
+ 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)
+=============================================================================/]
+
+
+[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically]
+[/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1centroid__exception.xml]
+[section:centroid_exception centroid_exception]
+
+Centroid Exception.
+
+[heading Description]
+The centroid_exception is thrown if the free centroid function is called with geometries for which the centroid cannot be calculated. For example: a linestring without points, a polygon without points, an empty multi-geometry.
+
+[heading Synopsis]
+``class centroid_exception
+ : public exception
+{
+ // ...
+};
+``
+
+[heading Constructor(s)]
+[table
+[[Function] [Description] [Parameters] ]
+[[``centroid_exception ()``
+
+] [] [
+
+
+]]
+]
+
+[heading Member Function(s)]
+[table
+[[Function] [Description] [Parameters] [Returns]]
+[[``char const * what () const ``
+
+] [] [
+
+
+]]
+]
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/algorithms/centroid.hpp>`
+
+[heading See also]
+* [link geometry.reference.algorithms.centroid the centroid function]
+
+[endsect]
+
Modified: trunk/libs/geometry/doc/reference/circular_iterator.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/circular_iterator.qbk (original)
+++ trunk/libs/geometry/doc/reference/circular_iterator.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -58,7 +58,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``void moveto (Iterator it)``
] [] [[* Iterator]: ['it]:
Modified: trunk/libs/geometry/doc/reference/closing_iterator.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/closing_iterator.qbk (original)
+++ trunk/libs/geometry/doc/reference/closing_iterator.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -62,7 +62,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``closing_iterator< Range > & operator= (closing_iterator< Range > const &source)``
] [] [[* < Range > const &]: ['source]:
Modified: trunk/libs/geometry/doc/reference/closure.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/closure.qbk (original)
+++ trunk/libs/geometry/doc/reference/closure.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -15,7 +15,7 @@
[/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1closure.xml]
[section:closure closure]
-Meta-function which defines closure of any geometry.
+Meta-function which defines closure of a geometry type.
[heading Synopsis]
``template<typename Geometry>
@@ -34,5 +34,8 @@
[heading Header]
`#include <boost/geometry/core/closure.hpp>`
+[heading See also]
+[link geometry.reference.enumerations.order_selector The order_selector enumeration]
+
[endsect]
Modified: trunk/libs/geometry/doc/reference/convex_hull_graham_andrew.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/convex_hull_graham_andrew.qbk (original)
+++ trunk/libs/geometry/doc/reference/convex_hull_graham_andrew.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -34,7 +34,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``void apply (InputGeometry const &geometry, partitions &state) const ``
] [] [[* InputGeometry const &]: ['geometry]:
Modified: trunk/libs/geometry/doc/reference/distance.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/distance.qbk (original)
+++ trunk/libs/geometry/doc/reference/distance.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -82,7 +82,7 @@
Calculate the distance of two geometries using the specified strategy.
[heading Description]
-The free function area calculates the area of a geometry. using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)
+The free function area calculates the area of a geometry. using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation.
[heading Synopsis]
``template<typename Geometry1, typename Geometry2, typename Strategy>
Modified: trunk/libs/geometry/doc/reference/distance_cross_track.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/distance_cross_track.qbk (original)
+++ trunk/libs/geometry/doc/reference/distance_cross_track.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -34,7 +34,7 @@
[[typename Point] [] [point type ]]
[[typename PointOfSegment] [Point] [segment point type ]]
[[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point ]]
-[[typename Strategy] [typename services::default_strategy<point_tag, Point>::type] [strategy, underlying point-point distance strategy, defaults to haversine]]
+[[typename Strategy] [typename services::default_strategy<point_tag, Point>::type] [underlying point-point distance strategy, defaults to haversine]]
]
[heading Constructor(s)]
@@ -66,7 +66,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``return_type apply (Point const &p, PointOfSegment const &sp1, PointOfSegment const &sp2) const ``
] [] [[* Point const &]: ['p]:
@@ -91,7 +91,7 @@
`#include <boost/geometry/strategies/spherical/distance_cross_track.hpp>`
[heading See also]
-[link geometry.reference.algorithms.distance.distance_3_with_strategy distance]
+[link geometry.reference.algorithms.distance.distance_3_with_strategy distance (with strategy)]
[endsect]
Modified: trunk/libs/geometry/doc/reference/distance_haversine.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/distance_haversine.qbk (original)
+++ trunk/libs/geometry/doc/reference/distance_haversine.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -48,7 +48,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``calculation_type apply (Point1 const &p1, Point2 const &p2) const ``
] [applies the distance calculation ] [[* Point1 const &]: ['p1]: first point
@@ -77,7 +77,7 @@
`#include <boost/geometry/strategies/spherical/distance_haversine.hpp>`
[heading See also]
-[link geometry.reference.algorithms.distance.distance_3_with_strategy distance]
+[link geometry.reference.algorithms.distance.distance_3_with_strategy distance (with strategy)]
[endsect]
Modified: trunk/libs/geometry/doc/reference/distance_projected_point.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/distance_projected_point.qbk (original)
+++ trunk/libs/geometry/doc/reference/distance_projected_point.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -34,12 +34,12 @@
[[typename Point] [] [point type ]]
[[typename PointOfSegment] [Point] [segment point type ]]
[[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point ]]
-[[typename Strategy] [pythagoras<Point, PointOfSegment, CalculationType>] [strategy, underlying point-point distance strategy ]]
+[[typename Strategy] [pythagoras<Point, PointOfSegment, CalculationType>] [underlying point-point distance strategy ]]
]
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``calculation_type apply (Point const &p, PointOfSegment const &p1, PointOfSegment const &p2) const ``
] [] [[* Point const &]: ['p]:
@@ -58,7 +58,7 @@
`#include <boost/geometry/strategies/cartesian/distance_projected_point.hpp>`
[heading See also]
-[link geometry.reference.algorithms.distance.distance_3_with_strategy distance]
+[link geometry.reference.algorithms.distance.distance_3_with_strategy distance (with strategy)]
[endsect]
Modified: trunk/libs/geometry/doc/reference/distance_pythagoras.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/distance_pythagoras.qbk (original)
+++ trunk/libs/geometry/doc/reference/distance_pythagoras.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -35,7 +35,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``calculation_type apply (Point1 const &p1, Point2 const &p2)``
] [applies the distance calculation using pythagoras ] [[* Point1 const &]: ['p1]: first point
@@ -57,7 +57,7 @@
[heading Notes]
[note Can be used for points with two, three or more dimensions]
[heading See also]
-[link geometry.reference.algorithms.distance.distance_3_with_strategy distance]
+[link geometry.reference.algorithms.distance.distance_3_with_strategy distance (with strategy)]
[endsect]
Added: trunk/libs/geometry/doc/reference/enum.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/reference/enum.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -0,0 +1,73 @@
+[/============================================================================
+ Boost.Geometry (aka GGL, Generic Geometry Library)
+
+ Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands.
+ Copyright (c) 2009-2011 Mateusz Loskot (mateusz_at_[hidden])
+ Copyright (c) 2009-2011 Bruno Lalande, Paris, France.
+
+ 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)
+=============================================================================/]
+
+
+[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically]
+[/ Generated from doxy/doxygen_output/xml/group__enum.xml]
+[section:closure_selector closure_selector]
+
+Enumerates options for defining if polygons are open or closed.
+
+[heading Description]
+The enumeration closure_selector describes options for if a polygon is open or closed. In a closed polygon the very first point (per ring) should be equal to the very last point. The specific closing property of a polygon type is defined by the closure metafunction. The closure metafunction defines a value, which is one of the values enumerated in the closure_selector
+
+[heading Synopsis]
+``enum closure_selector {open = 0, closed = 1, closure_undertermined = -1};``
+
+[heading Values]
+
+[table
+[[Value] [Description] ]
+[[open] []]
+[[closed] []]
+[[closure_undertermined] []]
+]
+
+
+[heading Header]
+`#include <boost/geometry/core/closure.hpp>`
+
+[heading See also]
+[link geometry.reference.core.closure The closure metafunction]
+
+
+[endsect]
+
+[section:order_selector order_selector]
+
+Enumerates options for the order of points within polygons.
+
+[heading Description]
+The enumeration order_selector describes options for the order of points within a polygon. Polygons can be ordered either clockwise or counterclockwise. The specific order of a polygon type is defined by the point_order metafunction. The point_order metafunction defines a value, which is one of the values enumerated in the order_selector
+
+[heading Synopsis]
+``enum order_selector {clockwise = 1, counterclockwise = 2, order_undetermined = 0};``
+
+[heading Values]
+
+[table
+[[Value] [Description] ]
+[[clockwise] [Points are ordered clockwise. ]]
+[[counterclockwise] [Points are ordered counter clockwise. ]]
+[[order_undetermined] [Points might be stored in any order, the algorithm will find out (not yet supported). ]]
+]
+
+
+[heading Header]
+`#include <boost/geometry/core/point_order.hpp>`
+
+[heading See also]
+[link geometry.reference.core.point_order The point_order metafunction]
+
+
+[endsect]
+
Modified: trunk/libs/geometry/doc/reference/ever_circling_iterator.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/ever_circling_iterator.qbk (original)
+++ trunk/libs/geometry/doc/reference/ever_circling_iterator.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -64,7 +64,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``void moveto (Iterator it)``
] [] [[* Iterator]: ['it]:
Modified: trunk/libs/geometry/doc/reference/exception.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/exception.qbk (original)
+++ trunk/libs/geometry/doc/reference/exception.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -12,13 +12,17 @@
[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically]
-[/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1exception.xml]
+[/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1exception.xml]
[section:exception exception]
-Base exception class for GGL.
+Base exception class for Boost.Geometry algorithms.
+
+[heading Description]
+This class is never thrown. All exceptions thrown in Boost.Geometry are derived from exception, so it might be convenient to catch it.
[heading Synopsis]
``class exception
+ : public std::exception
{
// ...
};
Modified: trunk/libs/geometry/doc/reference/identity_view.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/identity_view.qbk (original)
+++ trunk/libs/geometry/doc/reference/identity_view.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -46,7 +46,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``const_iterator begin () const ``
] [] [
Modified: trunk/libs/geometry/doc/reference/length.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/length.qbk (original)
+++ trunk/libs/geometry/doc/reference/length.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -18,7 +18,7 @@
Calculates the length of a geometry using the specified strategy.
[heading Description]
-The free function length calculates the length (the sum of distances between consecutive points) of a geometry using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)
+The free function length calculates the length (the sum of distances between consecutive points) of a geometry using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation.
[heading Synopsis]
``template<typename Geometry, typename Strategy>
Modified: trunk/libs/geometry/doc/reference/point.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/point.qbk (original)
+++ trunk/libs/geometry/doc/reference/point.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -64,7 +64,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``template<std::size_t K>
CoordinateType const & get () const ``
Modified: trunk/libs/geometry/doc/reference/point_order.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/point_order.qbk (original)
+++ trunk/libs/geometry/doc/reference/point_order.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -15,7 +15,7 @@
[/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1point__order.xml]
[section:point_order point_order]
-Meta-function which defines point order of any geometry.
+Metafunction which defines point order of a geometry type.
[heading Synopsis]
``template<typename Geometry>
@@ -34,5 +34,8 @@
[heading Header]
`#include <boost/geometry/core/point_order.hpp>`
+[heading See also]
+[link geometry.reference.enumerations.closure_selector The closure_selector enumeration]
+
[endsect]
Modified: trunk/libs/geometry/doc/reference/point_xy.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/point_xy.qbk (original)
+++ trunk/libs/geometry/doc/reference/point_xy.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -23,6 +23,7 @@
[heading Synopsis]
``template<typename CoordinateType, typename CoordinateSystem>
class model::d2::point_xy
+ : public model::point< CoordinateType, 2, CoordinateSystem >
{
// ...
};
@@ -58,7 +59,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``CoordinateType const & x () const ``
] [Get x-value. ] [
Modified: trunk/libs/geometry/doc/reference/polygon.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/polygon.qbk (original)
+++ trunk/libs/geometry/doc/reference/polygon.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -42,7 +42,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``ring_type const & outer () const ``
] [] [
Modified: trunk/libs/geometry/doc/reference/segment_range.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/segment_range.qbk (original)
+++ trunk/libs/geometry/doc/reference/segment_range.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -46,7 +46,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``const_iterator begin () const ``
] [] [
Modified: trunk/libs/geometry/doc/reference/segment_range_iterator.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/segment_range_iterator.qbk (original)
+++ trunk/libs/geometry/doc/reference/segment_range_iterator.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -62,7 +62,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``segment_range_iterator< Segment > & operator= (segment_range_iterator< Segment > const &source)``
] [] [[* < Segment > const &]: ['source]:
Modified: trunk/libs/geometry/doc/reference/side_side_by_cross_track.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/side_side_by_cross_track.qbk (original)
+++ trunk/libs/geometry/doc/reference/side_side_by_cross_track.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -36,7 +36,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``template<typename P1, typename P2, typename P>
int apply (P1 const &p1, P2 const &p2, P const &p)``
Modified: trunk/libs/geometry/doc/reference/side_side_by_triangle.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/side_side_by_triangle.qbk (original)
+++ trunk/libs/geometry/doc/reference/side_side_by_triangle.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -36,7 +36,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``template<typename P1, typename P2, typename P>
int apply (P1 const &p1, P2 const &p2, P const &p)``
Modified: trunk/libs/geometry/doc/reference/simplify_douglas_peucker.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/simplify_douglas_peucker.qbk (original)
+++ trunk/libs/geometry/doc/reference/simplify_douglas_peucker.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -37,7 +37,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``template<typename Range, typename OutputIterator>
OutputIterator apply (Range const &range, OutputIterator out, double max_distance)``
Modified: trunk/libs/geometry/doc/reference/transform_inverse_transformer.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/transform_inverse_transformer.qbk (original)
+++ trunk/libs/geometry/doc/reference/transform_inverse_transformer.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -20,6 +20,7 @@
[heading Synopsis]
``template<typename P1, typename P2>
class strategy::transform::inverse_transformer
+ : public strategy::transform::ublas_transformer< P1, P2, dimension< P1 >::type::value, dimension< P2 >::type::value >
{
// ...
};
Modified: trunk/libs/geometry/doc/reference/transform_map_transformer.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/transform_map_transformer.qbk (original)
+++ trunk/libs/geometry/doc/reference/transform_map_transformer.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -20,6 +20,7 @@
[heading Synopsis]
``template<typename P1, typename P2, bool Mirror, bool SameScale, std::size_t Dimension1, std::size_t Dimension2>
class strategy::transform::map_transformer
+ : public strategy::transform::ublas_transformer< P1, P2, Dimension1, Dimension2 >
{
// ...
};
Modified: trunk/libs/geometry/doc/reference/within.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/within.qbk (original)
+++ trunk/libs/geometry/doc/reference/within.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -15,7 +15,10 @@
[/ Generated from doxy/doxygen_output/xml/group__within.xml]
[section:within_3_with_strategy within (with strategy)]
-Within, examine if a geometry is within another geometry, using a specified strategy.
+Checks if the first geometry is completely inside the second geometry using the specified strategy.
+
+[heading Description]
+The free function within checks if the first geometry is completely inside the second geometry, using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation.
[heading Synopsis]
``template<typename Geometry1, typename Geometry2, typename Strategy>
@@ -43,12 +46,20 @@
`#include <boost/geometry/algorithms/within.hpp>`
+[heading Available Strategies]
+* [link geometry.reference.strategies.strategy_within_winding Winding (coordinate system agnostic)]
+* [link geometry.reference.strategies.strategy_within_franklin Franklin (cartesian)]
+* [link geometry.reference.strategies.strategy_within_crossings_multiply Crossings Multiply (cartesian)]
+
[endsect]
[section:within_2 within]
-Checks if the first geometry completely inside the second geometry.
+Checks if the first geometry is completely inside the second geometry.
+
+[heading Description]
+The free function within checks if the first geometry is completely inside the second geometry.
[heading Synopsis]
``template<typename Geometry1, typename Geometry2>
Modified: trunk/libs/geometry/doc/reference/within_crossings_multiply.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/within_crossings_multiply.qbk (original)
+++ trunk/libs/geometry/doc/reference/within_crossings_multiply.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -35,7 +35,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``bool apply (Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, flags &state)``
] [] [[* Point const &]: ['point]:
Modified: trunk/libs/geometry/doc/reference/within_franklin.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/within_franklin.qbk (original)
+++ trunk/libs/geometry/doc/reference/within_franklin.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -35,7 +35,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``bool apply (Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, crossings &state)``
] [] [[* Point const &]: ['point]:
@@ -63,5 +63,8 @@
[heading Header]
`#include <boost/geometry/strategies/cartesian/point_in_poly_franklin.hpp>`
+[heading See also]
+[link geometry.reference.algorithms.within.within_3_with_strategy within (with strategy)]
+
[endsect]
Modified: trunk/libs/geometry/doc/reference/within_winding.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/within_winding.qbk (original)
+++ trunk/libs/geometry/doc/reference/within_winding.qbk 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -35,7 +35,7 @@
[heading Member Function(s)]
[table
-[[Function] [Description] [Parameters] [Returns] ]
+[[Function] [Description] [Parameters] [Returns]]
[[``bool apply (Point const &point, PointOfSegment const &s1, PointOfSegment const &s2, counter &state)``
] [] [[* Point const &]: ['point]:
@@ -63,5 +63,8 @@
[heading Header]
`#include <boost/geometry/strategies/agnostic/point_in_poly_winding.hpp>`
+[heading See also]
+[link geometry.reference.algorithms.within.within_3_with_strategy within (with strategy)]
+
[endsect]
Modified: trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp
==============================================================================
--- trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp (original)
+++ trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -14,18 +14,43 @@
#include <vector>
-// contains (template)parameter
-struct parameter
+enum markup_type { markup_default, markup_synopsis };
+enum markup_order_type { markup_any, markup_before, markup_after };
+
+// TODO: rename, not all are functions
+enum function_type
+{
+ function_unknown,
+ function_define,
+ function_constructor,
+ function_member,
+ function_free
+};
+
+struct base_element
{
std::string name;
- std::string description;
+ std::string brief_description;
+
+ base_element(std::string const& n = "")
+ : name(n)
+ {}
+};
+
+
+// contains (template)parameter
+struct parameter : public base_element
+{
std::string type;
std::string default_value; // for template parameters
std::string fulltype; // post-processed
};
-enum markup_type { markup_default, markup_synopsis };
-enum markup_order_type { markup_any, markup_before, markup_after };
+struct enumeration_value : public base_element
+{
+ std::string initializer;
+};
+
struct markup
@@ -57,11 +82,10 @@
}
};
-// Basic element, base of a class/struct, function, define
-struct element
+// Base of a class/struct, function, define
+struct element : public base_element
{
- std::string name;
- std::string brief_description, detailed_description;
+ std::string detailed_description;
std::string location;
int line; // To sort - Doxygen changes order - we change it back
@@ -81,7 +105,6 @@
{}
};
-enum function_type { function_unknown, function_define, function_constructor, function_member, function_free };
struct function : public element
{
@@ -98,6 +121,13 @@
};
+
+struct enumeration : public element
+{
+ std::vector<enumeration_value> enumeration_values;
+};
+
+
struct base_class
{
std::string name;
@@ -110,15 +140,22 @@
std::string name, fullname;
std::vector<function> functions;
+ std::vector<base_element> typedefs;
+ std::vector<base_element> variables;
+
std::vector<base_class> base_classes;
};
struct documentation
{
- class_or_struct cos;
- std::vector<function> functions;
+ // Only one expected (no grouping)
+ class_or_struct cos;
+
+ // There can be many of them (in groups):
+ std::vector<function> functions;
std::vector<function> defines;
+ std::vector<enumeration> enumerations;
};
Modified: trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp
==============================================================================
--- trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp (original)
+++ trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -158,6 +158,10 @@
{
quickbook_output(f, config, std::cout);
}
+ BOOST_FOREACH(enumeration const& e, doc.enumerations)
+ {
+ quickbook_output(e, config, std::cout);
+ }
if (! doc.cos.name.empty())
{
Modified: trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp
==============================================================================
--- trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp (original)
+++ trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -33,13 +33,12 @@
}
-
static inline void add_or_set(std::vector<parameter>& parameters, parameter const& p)
{
std::vector<parameter>::iterator it = std::find_if(parameters.begin(), parameters.end(), par_by_name(p.name));
if (it != parameters.end())
{
- if (it->description.empty()) it->description = p.description;
+ if (it->brief_description.empty()) it->brief_description = p.brief_description;
if (it->type.empty()) it->type = p.type;
if (it->fulltype.empty()) it->fulltype = p.fulltype;
}
@@ -49,6 +48,9 @@
}
}
+
+
+
/// Parses a "para" element
/*
This is used for different purposes within Doxygen.
@@ -122,7 +124,7 @@
}
else if (name == "para")
{
- parse_para(node, p.description);
+ parse_para(node, p.brief_description);
}
parse_parameter(node->first_node(), p);
@@ -130,6 +132,32 @@
}
}
+static void parse_enumeration_value(rapidxml::xml_node<>* node, enumeration_value& value)
+{
+ // <enumvalue><name>green</name><initializer> 2</initializer>
+ // <briefdescription><para>...</para></briefdescription>
+ // <detaileddescription><para>...</para></detaileddescription>
+ // </enumvalue>
+ if (node != NULL)
+ {
+ std::string node_name = node->name();
+
+ if (node_name == "name") value.name = node->value();
+ else if (node_name == "para")
+ {
+ // Parses both brief AND detailed into this description
+ parse_para(node, value.brief_description);
+ }
+ else if (node_name == "initializer")
+ {
+ value.initializer = node->value();
+ }
+
+ parse_enumeration_value(node->first_node(), value);
+ parse_enumeration_value(node->next_sibling(), value);
+ }
+}
+
// Definition is a function or a class/struct
template <typename Parameters>
static void parse_parameter_list(rapidxml::xml_node<>* node, Parameters& parameters)
@@ -149,7 +177,7 @@
parameters.end(), par_by_name(p.name));
if (it != parameters.end())
{
- it->description = p.description;
+ it->brief_description = p.brief_description;
}
else
{
@@ -316,6 +344,49 @@
}
}
+static void parse_enumeration(rapidxml::xml_node<>* node, configuration const& config, std::string const& parent, enumeration& e)
+{
+ if (node != NULL)
+ {
+ std::string name = node->name();
+ std::string full = parent + "." + name;
+
+ if (full == ".name") e.name = node->value();
+ else if (full == ".enumvalue")
+ {
+ enumeration_value value;
+ parse_enumeration_value(node->first_node(), value);
+ e.enumeration_values.push_back(value);
+ }
+
+ parse_enumeration(node->first_node(), config, full, e);
+ parse_enumeration(node->next_sibling(), config, parent, e);
+ }
+}
+
+
+static std::string parse_named_node(rapidxml::xml_node<>* node, std::string const& look_for_name)
+{
+ if (node != NULL)
+ {
+ std::string node_name = node->name();
+ std::string contents;
+
+ if (boost::equals(node_name, look_for_name))
+ {
+ contents = node->value();
+ }
+
+ return contents
+ + parse_named_node(node->first_node(), look_for_name)
+ + parse_named_node(node->next_sibling(), look_for_name);
+ }
+ return "";
+}
+
+
+
+
static void parse(rapidxml::xml_node<>* node, configuration const& config, documentation& doc, bool member = false)
{
if (node != NULL)
@@ -332,17 +403,15 @@
else if (nodename == "sectiondef")
{
std::string kind = get_attribute(node, "kind");
- if (kind == "func" )
- {
- // Get free function definition
- recurse = true;
- }
- if (kind == "define" )
+
+ if (kind == "func"
+ || kind == "define"
+ || kind == "enum"
+ )
{
- // Get define or registration macro
recurse = true;
}
- else if (kind == "public-static-func" || kind == "public-func")
+ else if (boost::starts_with(kind, "public"))
{
recurse = true;
is_member = true;
@@ -364,19 +433,16 @@
else if (nodename == "memberdef")
{
std::string kind = get_attribute(node, "kind");
- if (kind == "function" || kind == "define")
+ if (kind == "function")
{
function f;
parse_element(node->first_node(), config, "", f);
parse_function(node->first_node(), config, "", f);
- if (kind == "define")
- {
- f.type = function_define;
- doc.defines.push_back(f);
- }
- else if (member)
+ if (member)
{
- f.type = f.name == doc.cos.name ? function_constructor : function_member;
+ f.type = boost::equals(f.name, doc.cos.name)
+ ? function_constructor
+ : function_member;
doc.cos.functions.push_back(f);
}
else
@@ -385,6 +451,39 @@
doc.functions.push_back(f);
}
}
+ else if (kind == "define")
+ {
+ function f;
+ f.type = function_define;
+ parse_element(node->first_node(), config, "", f);
+ parse_function(node->first_node(), config, "", f);
+ }
+ else if (kind == "enum")
+ {
+ enumeration e;
+ parse_element(node->first_node(), config, "", e);
+ parse_enumeration(node->first_node(), config, "", e);
+ doc.enumerations.push_back(e);
+ }
+ else if (kind == "typedef")
+ {
+ if (boost::equals(get_attribute(node, "prot"), "public"))
+ {
+ std::string name = parse_named_node(node->first_node(), "name");
+ doc.cos.typedefs.push_back(base_element(name));
+ }
+ }
+ else if (kind == "variable")
+ {
+ if (boost::equals(get_attribute(node, "static"), "yes")
+ && boost::equals(get_attribute(node, "mutable"), "no")
+ && boost::equals(get_attribute(node, "prot"), "public"))
+ {
+ std::string name = parse_named_node(node->first_node(), "name");
+ doc.cos.variables.push_back(base_element(name));
+ }
+ }
+
}
else if (nodename == "compoundname")
{
Added: trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -0,0 +1,9 @@
+# xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1d2_1_1point__xy.xml
+# xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1polygon.xml
+# xml=../../../../doxy/doxygen_output/xml/group__area.xml
+xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1pythagoras.xml
+start_include=boost/geometry/
+convenience_header_path=../../../../../../../boost/geometry/
+convenience_headers=geometry.hpp,geometries/geometries.hpp,multi/multi.hpp
+skip_namespace=boost::geometry::
+
Modified: trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp
==============================================================================
--- trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp (original)
+++ trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp 2011-01-30 16:53:02 EST (Sun, 30 Jan 2011)
@@ -78,6 +78,29 @@
<< std::endl;
}
+
+void quickbook_synopsis(enumeration const& e, std::ostream& out)
+{
+ out << "``enum " << e.name;
+ bool first = true;
+ BOOST_FOREACH(enumeration_value const& value, e.enumeration_values)
+ {
+ out << (first ? " {" : ", ") << value.name;
+ if (! value.initializer.empty())
+ {
+ out << " = " << boost::trim_copy(value.initializer);
+ }
+ first = false;
+ }
+ if (! first)
+ {
+ out << "};";
+ }
+ out << "``"
+ << std::endl
+ << std::endl;
+}
+
inline bool includes(std::string const& filename, std::string const& header)
{
std::string result;
@@ -177,6 +200,42 @@
+void quickbook_short_output(function const& f, std::ostream& out)
+{
+ BOOST_FOREACH(parameter const& p, f.parameters)
+ {
+ out << "[* " << p.fulltype << "]: ['" << p.name << "]: " << p.brief_description << std::endl << std::endl;
+ }
+ out << std::endl;
+ out << std::endl;
+
+ if (! f.return_description.empty())
+ {
+ out << "][" << std::endl;
+ out << f.return_description << std::endl;
+ out << std::endl;
+ }
+
+ out << std::endl;
+}
+
+inline std::string namespace_skipped(std::string const& name, configuration const& config)
+{
+ return config.skip_namespace.empty()
+ ? name
+ : boost::replace_all_copy(name, config.skip_namespace, "")
+ ;
+}
+
+inline std::string output_if_different(std::string const& s, std::string const& s2)
+{
+ return boost::equals(s, s2)
+ ? ""
+ : s + " "
+ ;
+}
+
+
void quickbook_output(function const& f, configuration const& config, std::ostream& out)
{
// Write the parsed function
@@ -235,7 +294,7 @@
if (it == f.parameters.end())
{
- out << "[[" << tp.name << "] [" << tp.description << "] [ - ] [Must be specified]]" << std::endl;
+ out << "[[" << tp.name << "] [" << tp.brief_description << "] [ - ] [Must be specified]]" << std::endl;
}
}
@@ -249,11 +308,11 @@
if (f.type != function_define)
{
out << "[" << p.fulltype
- << "] [" << (it == f.template_parameters.end() ? "" : it->description)
+ << "] [" << (it == f.template_parameters.end() ? "" : it->brief_description)
<< "] ";
}
out << "[" << p.name
- << "] [" << p.description
+ << "] [" << p.brief_description
<< "]]"
<< std::endl;
}
@@ -272,31 +331,80 @@
}
-void quickbook_short_output(function const& f, std::ostream& out)
+void quickbook_output(enumeration const& e, configuration const& config, std::ostream& out)
{
- BOOST_FOREACH(parameter const& p, f.parameters)
- {
- out << "[* " << p.fulltype << "]: ['" << p.name << "]: " << p.description << std::endl << std::endl;
- }
- out << std::endl;
+ out << "[section:" << to_section_name(e.name);
+ out << " " << e.name
+ << "]" << std::endl
+ << std::endl;
+
+ out << e.brief_description << std::endl;
out << std::endl;
- if (! f.return_description.empty())
+ quickbook_string_with_heading_if_present("Description", e.detailed_description, out);
+
+ // Synopsis
+ quickbook_markup(e.qbk_markup, markup_before, markup_synopsis, out);
+ out << "[heading Synopsis]" << std::endl;
+ quickbook_synopsis(e, out);
+ quickbook_markup(e.qbk_markup, markup_after, markup_synopsis, out);
+
+
+ out << "[heading Values]" << std::endl
+ << std::endl;
+
+ out << "[table" << std::endl << "[";
+ out << "[Value] [Description] ]" << std::endl;
+
+ BOOST_FOREACH(enumeration_value const& value, e.enumeration_values)
{
- out << "][" << std::endl;
- out << f.return_description << std::endl;
- out << std::endl;
+ out << "[[" << value.name
+ << "] [" << value.brief_description
+ << "]]"
+ << std::endl;
}
+ out << "]" << std::endl
+ << std::endl
+ << std::endl;
+ quickbook_header(e.location, config, out);
+ quickbook_markup(e.qbk_markup, markup_any, markup_default, out);
+
+ out << std::endl;
+ out << "[endsect]" << std::endl;
out << std::endl;
}
+void quickbook_output_member(std::vector<function> const& functions,
+ function_type type,
+ std::string const& title,
+ configuration const& config, std::ostream& out)
+{
+ std::string returns = type == function_constructor ? "" : " [Returns]";
+ out << "[heading " << title << "(s)]" << std::endl
+ << "[table" << std::endl
+ << "[[Function] [Description] [Parameters] " << returns << "]" << std::endl;
+
+ BOOST_FOREACH(function const& f, functions)
+ {
+ if (f.type == type)
+ {
+ out << "[[";
+ quickbook_synopsis(f, out);
+ out << "] [" << f.brief_description << "] [";
+ quickbook_short_output(f, out);
+ out << "]]" << std::endl;
+ }
+ }
+ out << "]" << std::endl
+ << std::endl;
+}
+
+
void quickbook_output(class_or_struct const& cos, configuration const& config, std::ostream& out)
{
// Skip namespace
- std::string short_name = config.skip_namespace.empty()
- ? cos.fullname
- : boost::replace_all_copy(cos.fullname, config.skip_namespace, "");
+ std::string short_name = namespace_skipped(cos.fullname, config);
// Write the parsed function
out << "[section:" << to_section_name(short_name) << " " << short_name << "]" << std::endl
@@ -311,23 +419,27 @@
out << "[heading Synopsis]" << std::endl
<< "``";
quickbook_template_parameter_list(cos.template_parameters, out);
- out << "class " << short_name;
+ out << "class " << short_name << std::endl;
if (! cos.base_classes.empty())
{
- out << " : ";
+ out << " : ";
bool first = true;
BOOST_FOREACH(base_class const& bc, cos.base_classes)
{
- out << (first ? "" : ", ")
- << (boost::equals(bc.derivation, "private") ? "" : bc.derivation)
- << (boost::equals(bc.virtuality, "non-virtual") ? "" : bc.virtuality)
- << " " << bc.name;
+ if (! first)
+ {
+ out << std::endl << " , ";
+ }
+ out << output_if_different(bc.derivation, "private")
+ << output_if_different(bc.virtuality, "non-virtual")
+ << namespace_skipped(bc.name, config);
first = false;
}
+ out << std::endl;
}
- out << std::endl << "{" << std::endl
+ out << "{" << std::endl
<< " // ..." << std::endl
<< "};" << std::endl
<< "``" << std::endl << std::endl;
@@ -362,7 +474,7 @@
{
out << "] [" << p.default_value;
}
- out << "] [" << p.description << "]]" << std::endl;
+ out << "] [" << p.brief_description << "]]" << std::endl;
}
out << "]" << std::endl
<< std::endl;
@@ -377,44 +489,12 @@
if (counts[function_constructor] > 0)
{
- out << "[heading Constructor(s)]" << std::endl
- << "[table" << std::endl
- << "[[Function] [Description] [Parameters] ]" << std::endl;
-
- BOOST_FOREACH(function const& f, cos.functions)
- {
- if (f.type == function_constructor)
- {
- out << "[[";
- quickbook_synopsis(f, out);
- out << "] [" << f.brief_description << "] [";
- quickbook_short_output(f, out);
- out << "]]" << std::endl;
- }
- }
- out << "]" << std::endl
- << std::endl;
+ quickbook_output_member(cos.functions, function_constructor, "Constructor", config, out);
}
if (counts[function_member] > 0)
{
- out << "[heading Member Function(s)]" << std::endl
- << "[table" << std::endl
- << "[[Function] [Description] [Parameters] [Returns] ]" << std::endl;
-
- BOOST_FOREACH(function const& f, cos.functions)
- {
- if (f.type == function_member)
- {
- out << "[[";
- quickbook_synopsis(f, out);
- out << "] [" << f.brief_description << "] [";
- quickbook_short_output(f, out);
- out << "]]" << std::endl;
- }
- }
- out << "]" << std::endl
- << std::endl;
+ quickbook_output_member(cos.functions, function_member, "Member Function", config, out);
}
quickbook_header(cos.location, config, out);
@@ -423,4 +503,6 @@
out << "[endsect]" << std::endl
<< std::endl;
}
+
+
#endif // QUICKBOOK_OUTPUT_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