Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r68215 - in trunk: boost/geometry/algorithms boost/geometry/core boost/geometry/geometries boost/geometry/geometries/register libs/geometry/doc libs/geometry/doc/ref libs/geometry/doc/ref/algorithms libs/geometry/doc/ref/geometries libs/geometry/doc/ref/geometries/register libs/geometry/doc/reference libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk libs/geometry/example
From: barend.gehrels_at_[hidden]
Date: 2011-01-17 15:42:04


Author: barendgehrels
Date: 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
New Revision: 68215
URL: http://svn.boost.org/trac/boost/changeset/68215

Log:
Doc update, move from qbk/* to qbk/include and separate qbk files in folder ref
Added:
   trunk/libs/geometry/doc/ref/
   trunk/libs/geometry/doc/ref/algorithms/
   trunk/libs/geometry/doc/ref/algorithms/area.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/area_example.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/area_example_with_strategy.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/buffer.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/centroid.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/intersection.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/intersects.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/length.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/length_example.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/length_example_with_strategy.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/num_geometries.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/num_interior_rings.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/num_points.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/perimeter.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/simplify.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/algorithms/simplify_inserter.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/geometries/
   trunk/libs/geometry/doc/ref/geometries/point.qbk (contents, props changed)
   trunk/libs/geometry/doc/ref/geometries/register/
   trunk/libs/geometry/doc/ref/geometries/register/point.qbk (contents, props changed)
Text files modified:
   trunk/boost/geometry/algorithms/area.hpp | 16 +----
   trunk/boost/geometry/algorithms/buffer.hpp | 2
   trunk/boost/geometry/algorithms/centroid.hpp | 10 +--
   trunk/boost/geometry/algorithms/intersection.hpp | 9 +--
   trunk/boost/geometry/algorithms/intersection_inserter.hpp | 20 +++---
   trunk/boost/geometry/algorithms/intersects.hpp | 4
   trunk/boost/geometry/algorithms/length.hpp | 13 +---
   trunk/boost/geometry/algorithms/num_points.hpp | 8 --
   trunk/boost/geometry/algorithms/perimeter.hpp | 8 +-
   trunk/boost/geometry/algorithms/simplify.hpp | 9 +-
   trunk/boost/geometry/core/interior_rings.hpp | 6 -
   trunk/boost/geometry/core/num_geometries.hpp | 5 -
   trunk/boost/geometry/geometries/point.hpp | 4
   trunk/boost/geometry/geometries/register/point.hpp | 5 -
   trunk/libs/geometry/doc/readme.txt | 3
   trunk/libs/geometry/doc/reference/area.qbk | 42 +-------------
   trunk/libs/geometry/doc/reference/buffer.qbk | 8 --
   trunk/libs/geometry/doc/reference/centroid.qbk | 18 +----
   trunk/libs/geometry/doc/reference/intersection.qbk | 44 +-------------
   trunk/libs/geometry/doc/reference/intersects.qbk | 6 -
   trunk/libs/geometry/doc/reference/length.qbk | 36 +-----------
   trunk/libs/geometry/doc/reference/num_geometries.qbk | 12 ---
   trunk/libs/geometry/doc/reference/num_interior_rings.qbk | 13 ----
   trunk/libs/geometry/doc/reference/num_points.qbk | 15 ----
   trunk/libs/geometry/doc/reference/perimeter.qbk | 26 --------
   trunk/libs/geometry/doc/reference/point.qbk | 5 -
   trunk/libs/geometry/doc/reference/register.qbk | 7 --
   trunk/libs/geometry/doc/reference/simplify.qbk | 13 +---
   trunk/libs/geometry/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp | 115 +++++----------------------------------
   trunk/libs/geometry/example/basic_examples.sln | 12 ++++
   30 files changed, 99 insertions(+), 395 deletions(-)

Modified: trunk/boost/geometry/algorithms/area.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/area.hpp (original)
+++ trunk/boost/geometry/algorithms/area.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -213,16 +213,8 @@
 \param geometry \param_geometry
 \return \return_calc{area}
 
-\qbk{example,area}
-\qbk{example,area_output}
-\qbk{behavior,__0dim__:[qbk_ret 0]}
-\qbk{behavior,__1dim__:[qbk_ret 0]}
-\qbk{behavior,__2dim__:[qbk_ret the area]}
-\qbk{behavior,__cart__:[qbk_ret the area] __cs_units__}
-\qbk{behavior,__sph__:[qbk_ret the area] __sph1__}
-\qbk{behavior,__rev__:[qbk_ret the negative area]}
-\qbk{complexity,Linear}
-\qbk{compliance,__ogc__}
+\qbk{include,ref/algorithms/area.qbk}
+\qbk{include,ref/algorithms/area_example.qbk}
 */
 template <typename Geometry>
 inline typename area_result<Geometry>::type area(Geometry const& geometry)
@@ -255,8 +247,8 @@
 \return \return_calc{area}
 
 \qbk{distinguish,with strategy}
-\qbk{example,area_with_strategy}
-\qbk{example,area_with_strategy_output}
+\qbk{include,ref/algorithms/area.qbk}
+\qbk{include,ref/algorithms/area_example_with_strategy.qbk}
  */
 template <typename Geometry, typename Strategy>
 inline typename Strategy::return_type area(

Modified: trunk/boost/geometry/algorithms/buffer.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/buffer.hpp (original)
+++ trunk/boost/geometry/algorithms/buffer.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -106,7 +106,7 @@
 \param chord_length (optional) The length of the chord's in the generated arcs around points or bends
 \note Currently only implemented for box, the trivial case, but still useful
 
-\qbk{behavior,__box__/__box__:Returns a new rectangular box\, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"}
+\qbk{include,ref/algorithms/buffer.qbk}
  */
 template <typename Input, typename Output, typename Distance>
 inline void buffer(Input const& geometry_in, Output& geometry_out,

Modified: trunk/boost/geometry/algorithms/centroid.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/centroid.hpp (original)
+++ trunk/boost/geometry/algorithms/centroid.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -358,6 +358,7 @@
 \param strategy \param_strategy{centroid}
 
 \qbk{distinguish,with strategy}
+\qbk{include,ref/algorithms/centroid.qbk}
 */
 template<typename Geometry, typename Point, typename Strategy>
 inline void centroid(Geometry const& geometry, Point& c,
@@ -390,12 +391,7 @@
 \param geometry \param_geometry
 \param c the calculated centroid will be assigned to this point reference
 
-\qbk{behavior,__0dim__:Calculates centroid}
-\qbk{behavior,__1dim__:Calculates centroid}
-\qbk{behavior,__2dim__:Calculates centroid}
-\qbk{behavior,__empty__:Throws a centroid_exception}
-\qbk{complexity,Linear}
-\qbk{compliance,__ogc__}
+\qbk{include,ref/algorithms/centroid.qbk}
  */
 template<typename Geometry, typename Point>
 inline void centroid(Geometry const& geometry, Point& c)
@@ -423,6 +419,7 @@
 \tparam Geometry \tparam_geometry
 \param geometry \param_geometry
 \return \return_calc{centroid}
+\qbk{include,ref/algorithms/centroid.qbk}
  */
 template<typename Point, typename Geometry>
 inline Point make_centroid(Geometry const& geometry)
@@ -446,6 +443,7 @@
 \return \return_calc{centroid}
 
 \qbk{distinguish,with strategy}
+\qbk{include,ref/algorithms/centroid.qbk}
  */
 template<typename Point, typename Geometry, typename Strategy>
 inline Point make_centroid(Geometry const& geometry, Strategy const& strategy)

Modified: trunk/boost/geometry/algorithms/intersection.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/intersection.hpp (original)
+++ trunk/boost/geometry/algorithms/intersection.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -179,17 +179,14 @@
 \details \details_calc2{intersection, spatial set theoretic intersection}.
 \tparam Geometry1 \tparam_geometry
 \tparam Geometry2 \tparam_geometry
-\tparam Collection Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which
- the value_type (below referred to as 'GeometryOut') fulfills a \p_l_or_c concept.
+\tparam GeometryOut Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which
+ the value_type fulfills a \p_l_or_c concept, or it is the output geometry (e.g. for a box)
 \param geometry1 \param_geometry
 \param geometry2 \param_geometry
 \param geometry_out The output geometry, either a multi_point, multi_polygon,
     multi_linestring, or a box (for intersection of two boxes)
 
-\qbk{example,intersection_ls_ls_point}
-\qbk{example,intersection_ls_ls_point_output}
-\qbk{example,intersection_segment}
-\qbk{example,intersection_segment_output}
+\qbk{include,ref/algorithms/intersection.qbk}
 */
 template
 <

Modified: trunk/boost/geometry/algorithms/intersection_inserter.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/intersection_inserter.hpp (original)
+++ trunk/boost/geometry/algorithms/intersection_inserter.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -238,7 +238,7 @@
     typename Linestring, typename Box,
     bool Reverse1, bool Reverse2, bool ReverseOut,
     typename OutputIterator, typename GeometryOut,
- overlay_type OverlayType,
+ overlay_type OverlayType,
     typename Strategy
>
 struct intersection_inserter
@@ -248,7 +248,7 @@
         Linestring, Box,
         Reverse1, Reverse2, ReverseOut,
         OutputIterator, GeometryOut,
- OverlayType,
+ OverlayType,
         Strategy
>
 {
@@ -267,7 +267,7 @@
     typename Segment, typename Box,
     bool Reverse1, bool Reverse2, bool ReverseOut,
     typename OutputIterator, typename GeometryOut,
- overlay_type OverlayType,
+ overlay_type OverlayType,
     typename Strategy
>
 struct intersection_inserter
@@ -277,7 +277,7 @@
         Segment, Box,
         Reverse1, Reverse2, ReverseOut,
         OutputIterator, GeometryOut,
- OverlayType,
+ OverlayType,
         Strategy
>
 {
@@ -302,7 +302,7 @@
     typename Geometry1, typename Geometry2,
     bool Reverse1, bool Reverse2, bool ReverseOut,
     typename OutputIterator, typename GeometryOut,
- overlay_type OverlayType,
+ overlay_type OverlayType,
     typename Strategy
>
 struct intersection_inserter_reversed
@@ -318,7 +318,7 @@
                 Geometry2, Geometry1,
                 Reverse2, Reverse1, ReverseOut,
                 OutputIterator, GeometryOut,
- OverlayType,
+ OverlayType,
                 Strategy
>::apply(g2, g1, out, strategy);
     }
@@ -339,7 +339,7 @@
 <
     typename GeometryOut,
     bool Reverse1, bool Reverse2, bool ReverseOut,
- overlay_type OverlayType,
+ overlay_type OverlayType,
     typename Geometry1, typename Geometry2,
     typename OutputIterator,
     typename Strategy
@@ -408,9 +408,7 @@
 \return \return_out
 
 \qbk{distinguish,with strategy}
-\qbk{behavior,[qbk_out __point__]:Calculates intersection points of input geometries}
-\qbk{behavior,[qbk_out __linestring__]:Calculates intersection linestrings of input geometries (NYI)}
-\qbk{behavior,[qbk_out __polygon__]:Calculates intersection polygons input (multi)polygons and/or boxes}
+\qbk{include,ref/algorithms/intersection.qbk}
 */
 template
 <
@@ -446,7 +444,7 @@
 \param out \param_out{intersection}
 \return \return_out
 
-\qbk{example,intersection_segment_inserter}
+\qbk{include,ref/algorithms/intersection.qbk}
 */
 template
 <

Modified: trunk/boost/geometry/algorithms/intersects.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/intersects.hpp (original)
+++ trunk/boost/geometry/algorithms/intersects.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -30,6 +30,7 @@
 \return \return_check{is self-intersecting}
 
 \qbk{distinguish,one geometry}
+\qbk{include,ref/algorithms/intersects.qbk}
 */
 template <typename Geometry>
 inline bool intersects(Geometry const& geometry)
@@ -81,8 +82,7 @@
 \return \return_check2{intersect each other}
 
 \qbk{distinguish,two geometries}
-\qbk{example,intersects_linestring}
-\qbk{example,intersects_linestring_output}
+\qbk{include,ref/algorithms/intersects.qbk}
  */
 template <typename Geometry1, typename Geometry2>
 inline bool intersects(Geometry1 const& geometry1, Geometry2 const& geometry2)

Modified: trunk/boost/geometry/algorithms/length.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/length.hpp (original)
+++ trunk/boost/geometry/algorithms/length.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -137,13 +137,8 @@
 \param geometry \param_geometry
 \return \return_calc{length}
 
-\qbk{behavior,__0dim__:[qbk_ret 0]}
-\qbk{behavior,__1dim__:[qbk_ret the length]}
-\qbk{behavior,__2dim__:[qbk_ret 0]}
-\qbk{complexity,Linear}
-\qbk{compliance,__ogc__}
-\qbk{example,length}
-\qbk{example,length_output}
+\qbk{include,ref/algorithms/length.qbk}
+\qbk{include,ref/algorithms/length_example.qbk}
  */
 template<typename Geometry>
 inline typename length_result<Geometry>::type length(
@@ -176,8 +171,8 @@
 \return \return_calc{length}
 
 \qbk{distinguish,with strategy}
-\qbk{example,length_with_strategy}
-\qbk{example,length_with_strategy_output}
+\qbk{include,ref/algorithms/length.qbk}
+\qbk{include,ref/algorithms/length_example_with_strategy.qbk}
  */
 template<typename Geometry, typename Strategy>
 inline typename length_result<Geometry>::type length(

Modified: trunk/boost/geometry/algorithms/num_points.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/num_points.hpp (original)
+++ trunk/boost/geometry/algorithms/num_points.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -147,13 +147,7 @@
 \param add_for_open add one for open geometries (i.e. polygon types which are not closed)
 \return \return_calc{number of points}
 
-\qbk{behavior,__point__:[qbk_ret 1]}
-\qbk{behavior,__segment__:[qbk_ret 2]}
-\qbk{behavior,__box__:[qbk_ret 4]}
-\qbk{behavior,__range__:[qbk_ret boost::size(geometry)]}
-\qbk{behavior,__other__:[qbk_ret the sum of the number of points of its elements]}
-\qbk{complexity,Constant or Linear}
-\qbk{compliance,__ogc__}
+\qbk{include,ref/algorithms/num_points.qbk}
 */
 template <typename Geometry>
 inline std::size_t num_points(Geometry const& geometry, bool add_for_open = false)

Modified: trunk/boost/geometry/algorithms/perimeter.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/perimeter.hpp (original)
+++ trunk/boost/geometry/algorithms/perimeter.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -40,7 +40,7 @@
 struct perimeter<ring_tag, Geometry, Strategy>
     : detail::length::range_length
         <
- Geometry,
+ Geometry,
             Strategy,
             closure<Geometry>::value
>
@@ -78,10 +78,7 @@
 \param geometry \param_geometry
 \return \return_calc{perimeter}
 
-\qbk{behavior,__0dim__:Returns zero}
-\qbk{behavior,__1dim__:Returns zero}
-\qbk{behavior,__2dim__:Returns the perimeter}
-\qbk{complexity,Linear}
+\qbk{include,ref/algorithms/perimeter.qbk}
  */
 template<typename Geometry>
 inline typename length_result<Geometry>::type perimeter(
@@ -115,6 +112,7 @@
 \return \return_calc{perimeter}
 
 \qbk{distinguish,with strategy}
+\qbk{include,ref/algorithms/perimeter.qbk}
  */
 template<typename Geometry, typename Strategy>
 inline typename length_result<Geometry>::type perimeter(

Modified: trunk/boost/geometry/algorithms/simplify.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/simplify.hpp (original)
+++ trunk/boost/geometry/algorithms/simplify.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -286,8 +286,7 @@
 \param max_distance distance (in units of input coordinates) of a vertex
     to other segments to be removed
 
-\qbk{example,simplify}
-\qbk{example,simplify_output}
+\qbk{include,ref/algorithms/simplify.qbk}
  */
 template<typename Geometry, typename Distance>
 inline void simplify(Geometry const& geometry, Geometry& out,
@@ -323,7 +322,8 @@
     might include point-distance strategy
 
 \qbk{distinguish,with strategy}
- */
+\qbk{include,ref/algorithms/simplify.qbk}
+*/
 template<typename Geometry, typename OutputIterator, typename Distance, typename Strategy>
 inline void simplify_inserter(Geometry const& geometry, OutputIterator out,
                               Distance const& max_distance, Strategy const& strategy)
@@ -348,8 +348,7 @@
 \param max_distance distance (in units of input coordinates) of a vertex
     to other segments to be removed
 
-\qbk{example,simplify_inserter}
-\qbk{example,simplify_inserter_output}
+\qbk{include,ref/algorithms/simplify_inserter.qbk}
  */
 template<typename Geometry, typename OutputIterator, typename Distance>
 inline void simplify_inserter(Geometry const& geometry, OutputIterator out,

Modified: trunk/boost/geometry/core/interior_rings.hpp
==============================================================================
--- trunk/boost/geometry/core/interior_rings.hpp (original)
+++ trunk/boost/geometry/core/interior_rings.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -167,11 +167,7 @@
 \param geometry \param_geometry
 \return \return_calc{number of interior rings}
 
-\qbk{behavior,__polygon__:[qbk_ret number of its interior rings]}
-\qbk{behavior,__multi_polygon__:[qbk_ret number of the interior rings of all polygons]}
-\qbk{behavior,__other__:[qbk_ret 0]}
-\qbk{compliance,__ogc__: numInteriorRing}
-\qbk{complexity,Constant}
+\qbk{include,ref/algorithms/num_interior_rings.qbk}
 
 \note Defined by OGC as "numInteriorRing". To be consistent with "numPoints"
     letter "s" is appended

Modified: trunk/boost/geometry/core/num_geometries.hpp
==============================================================================
--- trunk/boost/geometry/core/num_geometries.hpp (original)
+++ trunk/boost/geometry/core/num_geometries.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -50,10 +50,7 @@
 \param geometry \param_geometry
 \return \return_calc{number of geometries}
 
-\qbk{behavior,__single__:[qbk_ret 1]}
-\qbk{behavior,__multi__:Returns boost::size(geometry); the input is considered as a range}
-\qbk{compliance,__ogc__}
-\qbk{complexity,Constant}
+\qbk{include,ref/algorithms/num_geometries.qbk}
 */
 template <typename Geometry>
 inline std::size_t num_geometries(Geometry const& geometry)

Modified: trunk/boost/geometry/geometries/point.hpp
==============================================================================
--- trunk/boost/geometry/geometries/point.hpp (original)
+++ trunk/boost/geometry/geometries/point.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -34,8 +34,8 @@
 \tparam DimensionCount number of coordinates, usually 2 or 3
 \tparam CoordinateSystem coordinate system, for example cs::cartesian
 
-\qbk{example,point}
-\qbk{example,point_output}
+\qbk{include,ref/geometries/point.qbk}
+
 
 \details Defines a neutral point class, fulfilling the Point Concept.
     Library users can use this point class, or use their own point classes.

Modified: trunk/boost/geometry/geometries/register/point.hpp
==============================================================================
--- trunk/boost/geometry/geometries/register/point.hpp (original)
+++ trunk/boost/geometry/geometries/register/point.hpp 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -60,10 +60,7 @@
 \param Field0 \param_macro_member{\macro_x}
 \param Field1 \param_macro_member{\macro_y}
 
-\qbk{example, register_point_2d}
-\qbk{example, register_point_2d_output}
-\qbk{admonition, [caution Use the macro outside any namespace]}
-\qbk{admonition, [note A point can include a namespace]}
+\qbk{include,ref/geometries/register/point.qbk}
 */
 #define BOOST_GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1) \
 namespace boost { namespace geometry { namespace traits { \

Modified: trunk/libs/geometry/doc/readme.txt
==============================================================================
--- trunk/libs/geometry/doc/readme.txt (original)
+++ trunk/libs/geometry/doc/readme.txt 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -20,10 +20,11 @@
 5) execute python file "make_qbk.py" (calling doxygen, doxygen_xml2qbk, bjam)
 
 Folders in this folder:
-concept: manually written documentation QBK files, on concept
+concept: manually written documentation QBK files, on concept
 doxy: folders and files needed for doxygen input and output
 html: contains generated HTML files
 other: older documentation (subject to update or deletion)
+ref: manually written documentation QBK files, included from .hpp files
 reference: generated documentation QBK files (by doxygen_xml2qbk)
 src: examples used in documentation and tools (doxygen_xml2qbk)
 

Added: trunk/libs/geometry/doc/ref/algorithms/area.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/area.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,26 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__0dim__][[qbk_ret 0]]]
+[[__1dim__][[qbk_ret 0]]]
+[[__2dim__][[qbk_ret the area]]]
+[[__cart__][[qbk_ret the area] __cs_units__]]
+[[__sph__][[qbk_ret the area] __sph1__]]
+[[__rev__][[qbk_ret the negative area]]]
+]
+
+[heading Complexity]
+Linear
+

Added: trunk/libs/geometry/doc/ref/algorithms/area_example.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/area_example.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,16 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[area]
+[area_output]
+

Added: trunk/libs/geometry/doc/ref/algorithms/area_example_with_strategy.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/area_example_with_strategy.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,16 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[area_with_strategy]
+[area_with_strategy_output]
+

Added: trunk/libs/geometry/doc/ref/algorithms/buffer.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/buffer.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,19 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__box__/__box__][Returns a new rectangular box, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"]]
+]
+
+

Added: trunk/libs/geometry/doc/ref/algorithms/centroid.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/centroid.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,24 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__0dim__][Calculates centroid]]
+[[__1dim__][Calculates centroid]]
+[[__2dim__][Calculates centroid]]
+[[__empty__][Throws a centroid_exception]]
+]
+
+
+[heading Complexity]
+Linear

Added: trunk/libs/geometry/doc/ref/algorithms/intersection.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/intersection.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,20 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[[qbk_out __point__]][Calculates intersection points of input geometries]]
+[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
+[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
+]
+

Added: trunk/libs/geometry/doc/ref/algorithms/intersects.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/intersects.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,16 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[intersects_linestring]
+[intersects_linestring_output]
+

Added: trunk/libs/geometry/doc/ref/algorithms/length.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/length.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,24 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__0dim__][[qbk_ret 0]]]
+[[__1dim__][[qbk_ret the length]]]
+[[__2dim__][[qbk_ret 0]]]
+]
+
+
+[heading Complexity]
+Linear
+

Added: trunk/libs/geometry/doc/ref/algorithms/length_example.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/length_example.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,15 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[length_with_strategy]
+[length_with_strategy_output]

Added: trunk/libs/geometry/doc/ref/algorithms/length_example_with_strategy.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/length_example_with_strategy.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,15 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[length_with_strategy]
+[length_with_strategy_output]

Added: trunk/libs/geometry/doc/ref/algorithms/num_geometries.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/num_geometries.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,22 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__single__][[qbk_ret 1]]]
+[[__multi__][Returns boost::size(geometry); the input is considered as a range]]
+]
+
+
+[heading Complexity]
+Constant

Added: trunk/libs/geometry/doc/ref/algorithms/num_interior_rings.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/num_interior_rings.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,23 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__polygon__][[qbk_ret number of its interior rings]]]
+[[__multi_polygon__][[qbk_ret number of the interior rings of all polygons]]]
+[[__other__][[qbk_ret 0]]]
+]
+
+
+[heading Complexity]
+Constant

Added: trunk/libs/geometry/doc/ref/algorithms/num_points.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/num_points.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,25 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__point__][[qbk_ret 1]]]
+[[__segment__][[qbk_ret 2]]]
+[[__box__][[qbk_ret 4]]]
+[[__range__][[qbk_ret boost::size(geometry)]]]
+[[__other__][[qbk_ret the sum of the number of points of its elements]]]
+]
+
+
+[heading Complexity]
+Constant or Linear

Added: trunk/libs/geometry/doc/ref/algorithms/perimeter.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/perimeter.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,23 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__0dim__][Returns zero]]
+[[__1dim__][Returns zero]]
+[[__2dim__][Returns the perimeter]]
+]
+
+
+[heading Complexity]
+Linear

Added: trunk/libs/geometry/doc/ref/algorithms/simplify.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/simplify.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,18 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[simplify]
+[simplify_output]
+
+[heading Image(s)]
+[$svg_simplify_country.png]

Added: trunk/libs/geometry/doc/ref/algorithms/simplify_inserter.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/algorithms/simplify_inserter.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,16 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[simplify_inserter]
+[simplify_inserter_output]
+

Added: trunk/libs/geometry/doc/ref/geometries/point.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/geometries/point.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,15 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[heading Examples]
+[point]
+[point_output]

Added: trunk/libs/geometry/doc/ref/geometries/register/point.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/geometry/doc/ref/geometries/register/point.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -0,0 +1,17 @@
+[/============================================================================
+ 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)
+=============================================================================/]
+
+[caution Use the macro outside any namespace]
+[note A point can include a namespace]
+[heading Examples]
+[register_point_2d]
+[register_point_2d_output]

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-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -45,25 +45,8 @@
 
 `#include <boost/geometry/algorithms/area.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][[qbk_ret 0]]]
-[[__1dim__][[qbk_ret 0]]]
-[[__2dim__][[qbk_ret the area]]]
-[[__cart__][[qbk_ret the area] __cs_units__]]
-[[__sph__][[qbk_ret the area] __sph1__]]
-[[__rev__][[qbk_ret the negative area]]]
-]
-
-
-[heading Complexity]
-Linear
-
-[heading Examples]
-[area_with_strategy]
-[area_with_strategy_output]
-
+[include ref/algorithms/area.qbk]
+[include ref/algorithms/area_example_with_strategy.qbk]
 
 [endsect]
 
@@ -102,25 +85,8 @@
 
 `#include <boost/geometry/algorithms/area.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][[qbk_ret 0]]]
-[[__1dim__][[qbk_ret 0]]]
-[[__2dim__][[qbk_ret the area]]]
-[[__cart__][[qbk_ret the area] __cs_units__]]
-[[__sph__][[qbk_ret the area] __sph1__]]
-[[__rev__][[qbk_ret the negative area]]]
-]
-
-
-[heading Complexity]
-Linear
-
-[heading Examples]
-[area]
-[area_output]
-
+[include ref/algorithms/area.qbk]
+[include ref/algorithms/area_example.qbk]
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/buffer.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/buffer.qbk (original)
+++ trunk/libs/geometry/doc/reference/buffer.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -44,13 +44,7 @@
 
 `#include <boost/geometry/algorithms/buffer.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__box__/__box__][Returns a new rectangular box, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"]]
-]
-
-
+[include ref/algorithms/buffer.qbk]
 
 [endsect]
 

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-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -42,19 +42,7 @@
 
 `#include <boost/geometry/algorithms/centroid.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][Calculates centroid]]
-[[__1dim__][Calculates centroid]]
-[[__2dim__][Calculates centroid]]
-[[__empty__][Throws a centroid_exception]]
-]
-
-
-[heading Complexity]
-Linear
-
+[include ref/algorithms/centroid.qbk]
 
 [endsect]
 
@@ -88,6 +76,7 @@
 
 `#include <boost/geometry/algorithms/centroid.hpp>`
 
+[include ref/algorithms/centroid.qbk]
 
 [endsect]
 
@@ -124,6 +113,7 @@
 
 `#include <boost/geometry/algorithms/centroid.hpp>`
 
+[include ref/algorithms/centroid.qbk]
 
 [endsect]
 
@@ -148,7 +138,7 @@
 
 
 [heading Returns]
-The calculated centroid
+The calculated centroid
 
 [heading Header]
 Either

Modified: trunk/libs/geometry/doc/reference/intersection.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/intersection.qbk (original)
+++ trunk/libs/geometry/doc/reference/intersection.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -21,17 +21,16 @@
 The free function intersection calculates the spatial set theoretic intersection of two geometries.
 
 [heading Synopsis]
-``template<typename Geometry1, typename Geometry2, typename GeometryOut, >
+``template<typename Geometry1, typename Geometry2, typename GeometryOut>
 bool intersection (Geometry1 const &geometry1, Geometry2 const &geometry2, GeometryOut &geometry_out)``
 
 [heading Parameters]
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Collection] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type (below referred to as 'GeometryOut') fulfills a Point, LineString or Polygon concept. ] [ - ] [Must be specified]]
 [[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]]
 [[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
-[[GeometryOut &] [] [geometry_out] [The output geometry, either a multi_point, multi_polygon, multi_linestring, or a box (for intersection of two boxes)]]
+[[GeometryOut &] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type fulfills a Point, LineString or Polygon concept, or it is the output geometry (e.g. for a box) ] [geometry_out] [The output geometry, either a multi_point, multi_polygon, multi_linestring, or a box (for intersection of two boxes)]]
 ]
 
 
@@ -44,21 +43,7 @@
 
 `#include <boost/geometry/algorithms/intersection.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[[qbk_out __point__]][Calculates intersection points of input geometries]]
-[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
-[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
-]
-
-
-[heading Examples]
-[intersection_ls_ls_point]
-[intersection_ls_ls_point_output]
-[intersection_segment]
-[intersection_segment_output]
-
+[include ref/algorithms/intersection.qbk]
 
 [endsect]
 
@@ -90,18 +75,7 @@
 [heading Header]
 `#include <boost/geometry/algorithms/intersection_inserter.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[[qbk_out __point__]][Calculates intersection points of input geometries]]
-[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
-[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
-]
-
-
-[heading Examples]
-[intersection_segment_inserter]
-
+[include ref/algorithms/intersection.qbk]
 
 [endsect]
 
@@ -134,15 +108,7 @@
 [heading Header]
 `#include <boost/geometry/algorithms/intersection_inserter.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[[qbk_out __point__]][Calculates intersection points of input geometries]]
-[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
-[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
-]
-
-
+[include ref/algorithms/intersection.qbk]
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/intersects.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/intersects.qbk (original)
+++ trunk/libs/geometry/doc/reference/intersects.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -42,10 +42,7 @@
 
 `#include <boost/geometry/algorithms/intersects.hpp>`
 
-[heading Examples]
-[intersects_linestring]
-[intersects_linestring_output]
-
+[include ref/algorithms/intersects.qbk]
 
 [endsect]
 
@@ -77,6 +74,7 @@
 
 `#include <boost/geometry/algorithms/intersects.hpp>`
 
+[include ref/algorithms/intersects.qbk]
 
 [endsect]
 

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-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -45,22 +45,8 @@
 
 `#include <boost/geometry/algorithms/length.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][[qbk_ret 0]]]
-[[__1dim__][[qbk_ret the length]]]
-[[__2dim__][[qbk_ret 0]]]
-]
-
-
-[heading Complexity]
-Linear
-
-[heading Examples]
-[length_with_strategy]
-[length_with_strategy_output]
-
+[include ref/algorithms/length.qbk]
+[include ref/algorithms/length_example_with_strategy.qbk]
 
 [endsect]
 
@@ -95,22 +81,8 @@
 
 `#include <boost/geometry/algorithms/length.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][[qbk_ret 0]]]
-[[__1dim__][[qbk_ret the length]]]
-[[__2dim__][[qbk_ret 0]]]
-]
-
-
-[heading Complexity]
-Linear
-
-[heading Examples]
-[length]
-[length_output]
-
+[include ref/algorithms/length.qbk]
+[include ref/algorithms/length_example.qbk]
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/num_geometries.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/num_geometries.qbk (original)
+++ trunk/libs/geometry/doc/reference/num_geometries.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -44,17 +44,7 @@
 
 `#include <boost/geometry/core/num_geometries.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__single__][[qbk_ret 1]]]
-[[__multi__][Returns boost::size(geometry); the input is considered as a range]]
-]
-
-
-[heading Complexity]
-Constant
-
+[include ref/algorithms/num_geometries.qbk]
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/num_interior_rings.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/num_interior_rings.qbk (original)
+++ trunk/libs/geometry/doc/reference/num_interior_rings.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -44,18 +44,7 @@
 
 `#include <boost/geometry/core/interior_rings.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__polygon__][[qbk_ret number of its interior rings]]]
-[[__multi_polygon__][[qbk_ret number of the interior rings of all polygons]]]
-[[__other__][[qbk_ret 0]]]
-]
-
-
-[heading Complexity]
-Constant
-
+[include ref/algorithms/num_interior_rings.qbk]
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/num_points.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/num_points.qbk (original)
+++ trunk/libs/geometry/doc/reference/num_points.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -45,20 +45,7 @@
 
 `#include <boost/geometry/algorithms/num_points.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__point__][[qbk_ret 1]]]
-[[__segment__][[qbk_ret 2]]]
-[[__box__][[qbk_ret 4]]]
-[[__range__][[qbk_ret boost::size(geometry)]]]
-[[__other__][[qbk_ret the sum of the number of points of its elements]]]
-]
-
-
-[heading Complexity]
-Constant or Linear
-
+[include ref/algorithms/num_points.qbk]
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/perimeter.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/perimeter.qbk (original)
+++ trunk/libs/geometry/doc/reference/perimeter.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -45,18 +45,7 @@
 
 `#include <boost/geometry/algorithms/perimeter.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][Returns zero]]
-[[__1dim__][Returns zero]]
-[[__2dim__][Returns the perimeter]]
-]
-
-
-[heading Complexity]
-Linear
-
+[include ref/algorithms/perimeter.qbk]
 
 [endsect]
 
@@ -91,18 +80,7 @@
 
 `#include <boost/geometry/algorithms/perimeter.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][Returns zero]]
-[[__1dim__][Returns zero]]
-[[__2dim__][Returns the perimeter]]
-]
-
-
-[heading Complexity]
-Linear
-
+[include ref/algorithms/perimeter.qbk]
 
 [endsect]
 

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-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -90,9 +90,6 @@
 
 `#include <boost/geometry/geometries/point.hpp>`
 
-[heading Examples]
-[point]
-[point_output]
-
+[include ref/geometries/point.qbk]
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/register.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/register.qbk (original)
+++ trunk/libs/geometry/doc/reference/register.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -38,12 +38,7 @@
 [heading Header]
 `#include <boost/geometry/geometries/register/point.hpp>`
 
-[caution Use the macro outside any namespace]
-[note A point can include a namespace]
-[heading Examples]
-[register_point_2d]
-[register_point_2d_output]
-
+[include ref/geometries/register/point.qbk]
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/reference/simplify.qbk
==============================================================================
--- trunk/libs/geometry/doc/reference/simplify.qbk (original)
+++ trunk/libs/geometry/doc/reference/simplify.qbk 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -40,10 +40,7 @@
 
 `#include <boost/geometry/algorithms/simplify.hpp>`
 
-[heading Examples]
-[simplify]
-[simplify_output]
-
+[include ref/algorithms/simplify.qbk]
 
 [endsect]
 
@@ -75,8 +72,6 @@
 
 `#include <boost/geometry/algorithms/simplify.hpp>`
 
-[heading Image(s)]
-[$svg_simplify_country.png]
 
 [endsect]
 
@@ -107,10 +102,7 @@
 
 `#include <boost/geometry/algorithms/simplify.hpp>`
 
-[heading Examples]
-[simplify_inserter]
-[simplify_inserter_output]
-
+[include ref/algorithms/simplify_inserter.qbk]
 
 [endsect]
 
@@ -142,6 +134,7 @@
 
 `#include <boost/geometry/algorithms/simplify.hpp>`
 
+[include ref/algorithms/simplify.qbk]
 
 [endsect]
 

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-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -114,11 +114,10 @@
     std::string brief_description, detailed_description;
     std::string location;
     int line; // To sort - Doxygen changes order - we change it back
- std::vector<std::string> examples;
- std::vector<std::string> behaviors;
- std::vector<std::string> admonitions;
- std::vector<std::string> images;
- std::string complexity;
+
+ // QBK-includes
+ // Filled with e.g.: \qbk(include, reference/myqbk.qbk}
+ std::vector<std::string> includes;
 
     // To distinguish overloads: unary, binary etc,
     // Filled with: \qbk{distinguish,<A discerning description>}
@@ -353,22 +352,9 @@
             el.location = loc;
             el.line = atol(get_attribute(node, "line").c_str());
         }
- else if (full == ".detaileddescription.para.qbk.example")
- {
- el.examples.push_back(boost::trim_copy(std::string(node->value())));
- }
- else if (full == ".detaileddescription.para.qbk.admonition")
- {
- el.admonitions.push_back(boost::trim_copy(std::string(node->value())));
- }
- else if (full == ".detaileddescription.para.qbk.behavior")
- {
- el.behaviors.push_back(boost::trim_copy(std::string(node->value())));
- }
- else if (full == ".detaileddescription.para.qbk.complexity")
+ else if (full == ".detaileddescription.para.qbk.include")
         {
- el.complexity = node->value();
- boost::trim(el.complexity);
+ el.includes.push_back(boost::trim_copy(std::string(node->value())));
         }
         else if (full == ".detaileddescription.para.qbk.distinguish")
         {
@@ -436,11 +422,6 @@
         }
         else if (full == ".detaileddescription.para.image")
         {
- std::string image = get_attribute(node, "name");
- if (! image.empty())
- {
- f.images.push_back(image);
- }
         }
 
         parse_function(node->first_node(), full, f);
@@ -661,43 +642,17 @@
     }
 }
 
-void quickbook_examples(std::vector<std::string> const& examples, std::ostream& out)
-{
- if (! examples.empty())
- {
- out << "[heading Examples]" << std::endl;
- BOOST_FOREACH(std::string const& example, examples)
- {
- out << "[" << example << "]" << std::endl;
- }
- out << std::endl;
- }
-}
 
-void quickbook_behaviors(std::vector<std::string> const& behaviors, std::ostream& out)
+void quickbook_includes(std::vector<std::string> const& includes, std::ostream& out)
 {
- if (! behaviors.empty())
+ BOOST_FOREACH(std::string const& inc, includes)
     {
- out << "[heading Behavior]" << std::endl
- << "[table" << std::endl
- << "[[Case] [Behavior] ]" << std::endl;
- BOOST_FOREACH(std::string const& behavior, behaviors)
- {
- // Split at first ":"
- std::size_t pos = behavior.find(":");
- if (pos != std::string::npos)
- {
- std::string c = behavior.substr(0, pos);
- std::string b = behavior.substr(pos + 1);
- out << "[[" << c << "][" << b << "]]" << std::endl;
- }
- }
- out << "]" << std::endl
- << std::endl
- << std::endl;
+ out << "[include " << inc << "]" << std::endl;
     }
 }
 
+
+
 void quickbook_heading_string(std::string const& heading,
             std::string const& contents, std::ostream& out)
 {
@@ -798,30 +753,12 @@
         << std::endl;
 
     quickbook_heading_string("Returns", f.return_description, out);
- //quickbook_heading_string("Model of", f.model_of, out);
 
     quickbook_header(f.location, config, out);
- quickbook_behaviors(f.behaviors, out);
 
- quickbook_heading_string("Complexity", f.complexity, out);
-
- BOOST_FOREACH(std::string const& admonition, f.admonitions)
- {
- out << admonition << std::endl;
- }
+ quickbook_includes(f.includes, out);
 
- quickbook_examples(f.examples, out);
-
- if (! f.images.empty())
- {
- out << "[heading Image(s)]" << std::endl;
- BOOST_FOREACH(std::string const& image, f.images)
- {
- out << "[$" << image << "]" << std::endl;
- }
- }
     out << std::endl;
-
     out << "[endsect]" << std::endl;
     out << std::endl;
 }
@@ -843,15 +780,6 @@
         out << std::endl;
     }
 
-
- if (! f.examples.empty())
- {
- out << std::endl << std::endl << "[*Examples]" << std::endl;
- BOOST_FOREACH(std::string const& example, f.examples)
- {
- out << "[" << example << "]" << std::endl;
- }
- }
     out << std::endl;
 }
 
@@ -940,7 +868,8 @@
     }
 
     quickbook_header(cos.location, config, out);
- quickbook_examples(cos.examples, out);
+ //quickbook_examples(cos.examples, out);
+ quickbook_includes(cos.includes, out);
 
     out << "[endsect]" << std::endl
         << std::endl;
@@ -955,6 +884,7 @@
 
 int main(int argc, char** argv)
 {
+ // TODO: use boost::program_options
     if (argc < 2)
     {
         std::cerr
@@ -977,21 +907,6 @@
         for (std::size_t j = i + 1; j < doc.functions.size(); j++)
         {
             function& f2 = doc.functions[j];
- if (f1.name == f2.name
- || equal_ignore_fix(f1.name, f2.name, "make_")
- || equal_ignore_fix(f1.name, f2.name, "_inserter"))
- {
- // Boost.Geometry specific
- // Copy behaviors if empty and function has same name
- if (f1.behaviors.empty() && !f2.behaviors.empty())
- {
- f1.behaviors = f2.behaviors;
- }
- if (f1.complexity.empty() && !f2.complexity.empty())
- {
- f1.complexity = f2.complexity;
- }
- }
 
             if (f1.name == f2.name)
             {

Modified: trunk/libs/geometry/example/basic_examples.sln
==============================================================================
--- trunk/libs/geometry/example/basic_examples.sln (original)
+++ trunk/libs/geometry/example/basic_examples.sln 2011-01-17 15:41:54 EST (Mon, 17 Jan 2011)
@@ -18,6 +18,10 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07_b_graph_route_example", "07_b_graph_route_example.vcproj", "{940B049A-51AF-48DE-B366-11B42B98E3B3}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04_boost_example", "04_boost_example.vcproj", "{6254AA18-1E45-4ECD-B574-D20F97F5BBA3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "08_units_example", "08_units_example.vcproj", "{3D41FD4E-88B0-4A2A-9884-D434831A236C}"
+EndProject
 Global
         GlobalSection(SolutionConfigurationPlatforms) = preSolution
                 Debug|Win32 = Debug|Win32
@@ -60,6 +64,14 @@
                 {940B049A-51AF-48DE-B366-11B42B98E3B3}.Debug|Win32.Build.0 = Debug|Win32
                 {940B049A-51AF-48DE-B366-11B42B98E3B3}.Release|Win32.ActiveCfg = Release|Win32
                 {940B049A-51AF-48DE-B366-11B42B98E3B3}.Release|Win32.Build.0 = Release|Win32
+ {6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Debug|Win32.Build.0 = Debug|Win32
+ {6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Release|Win32.ActiveCfg = Release|Win32
+ {6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Release|Win32.Build.0 = Release|Win32
+ {3D41FD4E-88B0-4A2A-9884-D434831A236C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3D41FD4E-88B0-4A2A-9884-D434831A236C}.Debug|Win32.Build.0 = Debug|Win32
+ {3D41FD4E-88B0-4A2A-9884-D434831A236C}.Release|Win32.ActiveCfg = Release|Win32
+ {3D41FD4E-88B0-4A2A-9884-D434831A236C}.Release|Win32.Build.0 = Release|Win32
         EndGlobalSection
         GlobalSection(SolutionProperties) = preSolution
                 HideSolutionNode = FALSE


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