Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r57071 - in sandbox/ggl/formal_review_request/libs/ggl/doc: doxygen_input/pages doxygen_input/sourcecode doxygen_output/html
From: barend.gehrels_at_[hidden]
Date: 2009-10-22 11:28:52


Author: barendgehrels
Date: 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
New Revision: 57071
URL: http://svn.boost.org/trac/boost/changeset/57071

Log:
Doc update for a.o. tests in length, perimeter, area, for_each
Added:
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1segment-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1segment.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/length__result_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/length__result_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2for__each_8hpp_source.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1length__result.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1single__tag.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4-members.html (contents, props changed)
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html (contents, props changed)
Removed:
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment-members.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp_source.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp_source.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x62.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x63.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x64.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x65.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x67.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x68.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x69.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6c.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6d.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6e.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6f.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x70.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x72.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x73.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x74.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x75.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x76.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x77.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x78.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x79.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x7e.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment-members.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4-members.html
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html
Text files modified:
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_design_cross_section.hpp | 5
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp | 56 +-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html | 12
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html | 10
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html | 390 ++++++++++---------
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html | 6
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html | 8
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html | 420 +++++++++-----------
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html | 751 ++++++++++++++++++------------------
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html | 12
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html | 227 ++++++-----
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html | 8
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html | 191 ++++-----
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html | 27
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html | 89 ++--
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html | 85 ++-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html | 34 +
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html | 42 +-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html | 6
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html | 6
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html | 10
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html | 14
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html | 14
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html | 64 +-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html | 6
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html | 8
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html | 3
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html | 82 ----
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html | 8
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html | 102 ----
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html | 5
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html | 428 +++++++++++----------
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html | 9
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x66.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x67.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6c.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6d.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html | 25
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html | 11
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html | 13
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html | 20
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html | 340 +++++++++++++++-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html | 21
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html | 6
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html | 20
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html | 18
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__distance.html | 11
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html | 42 +
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html | 94 ++--
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html | 20
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html | 6
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html | 17
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__point_8hpp_source.html | 80 +--
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/loop_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html | 42 +
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2length_8hpp_source.html | 63 +-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html | 58 +-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp.html | 3
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2core_2tags_8hpp_source.html | 58 ++
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__sum_8hpp_source.html | 45 +-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html | 796 ++-------------------------------------
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html | 7
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html | 20
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html | 20
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html | 90 ++--
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point_8hpp_source.html | 115 +++--
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html | 104 ++--
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp.html | 12
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/register_2point_8hpp_source.html | 276 +++++++------
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/reverse__dispatch_8hpp_source.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html | 155 ++++---
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html | 12
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp_source.html | 12
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html | 14
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result-members.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html | 35 +
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1cartesian__distance.html | 18
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html | 56 +-
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__collection__tag.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring__tag.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point__tag.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon__tag.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__de9im.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1policies_1_1relate_1_1segments__tupled.html | 8
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html | 24
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html | 6
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__centroid.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__distance__segment.html | 2
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html | 15
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html | 18
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std-members.html | 4
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html | 18
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tuple_8hpp_source.html | 152 ++++---
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/tupled_8hpp_source.html | 8
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html | 655 +++++++++++++++++---------------
   sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html | 2
   145 files changed, 3267 insertions(+), 3702 deletions(-)

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_design_cross_section.hpp
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_design_cross_section.hpp (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_design_cross_section.hpp 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -123,7 +123,8 @@
 
 This enables us to call get<0>(a), for any point having the traits::access specialization, as shown in the distance algorithm at the start of this paragraph.
 So we wanted to enable classes with methods like .x(), and they are supported as long as there is a specialization of the access struct with a static get function returning .x() for dimension 0, and similar for 1 and .y().
-Alternatively we can have, in the traits class, the dimension as a template parameter in a member template function:
+
+Alternatively we could implement, in the traits class, the dimension as a template parameter in a member template function:
 
 \code
 template <>
@@ -137,7 +138,7 @@
 };
 \endcode
 
-This alternative gives in the end the same functionality, either using an if-clause (slower), or adding another level of indirection. <b>This last version is used in GGL</b>
+This alternative gives in the end the same functionality, either using an if-clause (slower), or adding another level of indirection.
 
 
 

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -500,20 +500,6 @@
 {
     namespace traits
     {
- template <int I> struct accessor;
-
- template <> struct accessor<0>
- {
- inline static double get(const example_point_1& p) { return p.x; }
- inline static void set(example_point_1& p, const double& value) { p.x = value; }
- };
-
- template <> struct accessor<1>
- {
- inline static double get(const example_point_1& p) { return p.y; }
- inline static void set(example_point_1& p, const double& value) { p.y = value; }
- };
-
         // For legacy points, define the necessary structs coordinate (with typedef),
         // dimension (with value) and access (with get function).
         // Be sure to define them within the namespace ggl::traits
@@ -521,15 +507,21 @@
         template <> struct coordinate_type<example_point_1> { typedef double type; };
         template <> struct coordinate_system<example_point_1> { typedef cs::cartesian type; };
         template <> struct dimension<example_point_1>: boost::mpl::int_<2> {};
- template <> struct access<example_point_1>
+ template <> struct access<example_point_1, 0>
         {
- template <int I>
- static double get(const example_point_1& p)
- { return accessor<I>::get(p); }
-
- template <int I>
- static void set(example_point_1& p, const double& value)
- { accessor<I>::set(p, value); }
+ static double get(example_point_1 const& p)
+ { return p.x; }
+
+ static void set(example_point_1& p, double const& value)
+ { p.x = value; }
+ };
+ template <> struct access<example_point_1, 1>
+ {
+ static double get(example_point_1 const& p)
+ { return p.y; }
+
+ static void set(example_point_1& p, double const& value)
+ { p.y = value; }
         };
     }
 }
@@ -575,24 +567,24 @@
     };
 }
 
-// WILL BE CONVERTED TO MACRO
+// MIGHT BE CONVERTED TO MACRO
 namespace ggl
 {
     namespace traits
     {
         using namespace example_own_point2;
 
- template <> struct tag<example_point_2 > { typedef point_tag type; };
- template <> struct coordinate_type<example_point_2 > { typedef float type; };
- template <> struct coordinate_system<example_point_2 > { typedef ggl::cs::cartesian type; };
- template <> struct dimension<example_point_2 > : boost::mpl::int_<2> {};
- template <> struct access<example_point_2 >
+ template <> struct tag<example_point_2> { typedef point_tag type; };
+ template <> struct coordinate_type<example_point_2> { typedef float type; };
+ template <> struct coordinate_system<example_point_2> { typedef ggl::cs::cartesian type; };
+ template <> struct dimension<example_point_2> : boost::mpl::int_<2> {};
+ template <std::size_t Dimension> struct access<example_point_2, Dimension>
         {
- template <int I>
- static inline float get(const example_point_2& p) { return p.get<I>(); }
+ static inline float get(example_point_2 const& p)
+ { return p.get<Dimension>(); }
 
- template <int I>
- static inline void set(example_point_2& p, const float& value) { p.get<I>() = value; }
+ static inline void set(example_point_2& p, float const& value)
+ { p.get<Dimension>() = value; }
         };
 
         // The library user has

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -124,7 +124,7 @@
     std::cout &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b) &lt;&lt; std::endl;
 
     <span class="comment">// The length of the line can be calulated</span>
- std::cout &lt;&lt; <span class="stringliteral">"length: "</span> &lt;&lt; <a name="a8"></a><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(ls) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"length: "</span> &lt;&lt; <a name="a8"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(ls) &lt;&lt; std::endl;
 
     <span class="comment">// All things from std::vector can be called, because a linestring is a vector</span>
     std::cout &lt;&lt; <span class="stringliteral">"number of points 1: "</span> &lt;&lt; ls.size() &lt;&lt; std::endl;
@@ -142,7 +142,7 @@
 
     <span class="comment">// A linestring is a vector. However, some algorithms consider "segments",</span>
     <span class="comment">// which are the line pieces between two points of a linestring.</span>
- <span class="keywordtype">double</span> d = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(p, <a name="_a11"></a><a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;point_2d &gt;</a>(ls.front(), ls.back()));
+ <span class="keywordtype">double</span> d = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(p, <a name="_a11"></a><a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;point_2d &gt;</a>(ls.front(), ls.back()));
     std::cout &lt;&lt; <span class="stringliteral">"distance: "</span> &lt;&lt; d &lt;&lt; std::endl;
 
     <span class="comment">// Add some three points more, let's do it using a classic array.</span>
@@ -174,7 +174,7 @@
 
     <span class="comment">// The other way, using a vector instead of a linestring, is also possible</span>
     std::vector&lt;point_2d&gt; pv(ls.begin(), ls.end());
- std::cout &lt;&lt; <span class="stringliteral">"length: "</span> &lt;&lt; <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(pv) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"length: "</span> &lt;&lt; <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(pv) &lt;&lt; std::endl;
 
     <span class="comment">// If there are double points in the line, you can use unique to remove them</span>
     <span class="comment">// So we add the last point, print, make a unique copy and print</span>
@@ -205,8 +205,8 @@
     {
         <a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring_2d</a> lscopy = ls;
         std::for_each(lscopy.begin(), lscopy.end(), translate_function&lt;point_2d&gt;);
- <a name="a13"></a><a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(lscopy, scale_functor&lt;point_2d&gt;());
- <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(lscopy, translate_function&lt;point_2d&gt;);
+ <a name="a13"></a><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(lscopy, scale_functor&lt;point_2d&gt;());
+ <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(lscopy, translate_function&lt;point_2d&gt;);
         std::cout &lt;&lt; <span class="stringliteral">"modified line: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(lscopy) &lt;&lt; std::endl;
     }
 
@@ -243,7 +243,7 @@
 
     <span class="comment">// Not all algorithms work on 3d lines. For example convex hull does NOT.</span>
     <span class="comment">// But, for example, length, distance, simplify, envelope and stream do.</span>
- std::cout &lt;&lt; <span class="stringliteral">"3D: length: "</span> &lt;&lt; <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(line3d) &lt;&lt; <span class="stringliteral">" line: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(line3d) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"3D: length: "</span> &lt;&lt; <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(line3d) &lt;&lt; <span class="stringliteral">" line: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(line3d) &lt;&lt; std::endl;
 
     <span class="comment">// With DSV you can also use other delimiters, e.g. JSON style</span>
     std::cout &lt;&lt; <span class="stringliteral">"JSON: "</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -104,7 +104,7 @@
     std::cout &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b) &lt;&lt; std::endl;
 
     <span class="comment">// The area of the polygon can be calulated</span>
- std::cout &lt;&lt; <span class="stringliteral">"area: "</span> &lt;&lt; <a name="a6"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(poly) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"area: "</span> &lt;&lt; <a name="a6"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(poly) &lt;&lt; std::endl;
 
     <span class="comment">// And the centroid, which is the center of gravity</span>
     <a name="_a7"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> cent;
@@ -137,7 +137,7 @@
 
     std::cout &lt;&lt; <span class="stringliteral">"with inner ring:"</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(poly) &lt;&lt; std::endl;
     <span class="comment">// The area of the polygon is changed of course</span>
- std::cout &lt;&lt; <span class="stringliteral">"new area of polygon: "</span> &lt;&lt; <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(poly) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"new area of polygon: "</span> &lt;&lt; <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(poly) &lt;&lt; std::endl;
     <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(poly, cent);
     std::cout &lt;&lt; <span class="stringliteral">"new centroid: "</span> &lt;&lt; <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(cent) &lt;&lt; std::endl;
 

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -184,7 +184,7 @@
     ggl_edge_property(Linestring <span class="keyword">const</span>&amp; line)
         : m_line(line)
     {
- m_length = <a name="a4"></a><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">ggl::length</a>(line);
+ m_length = <a name="a4"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">ggl::length</a>(line);
     }
 
     <span class="keyword">inline</span> operator double()<span class="keyword"> const</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -47,13 +47,13 @@
 <a href="access_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; G &gt;</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; Geometry, Dimension &gt;</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; G, I, D &gt;</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; Geometry, Index, Dimension &gt;</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; G &gt;</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; Geometry &gt;</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class, optional, indicating that the std-library should be used. More...<br></td></tr>
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
@@ -65,7 +65,7 @@
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">ggl::get</a> (const G &amp;geometry, detail::signature_getset_index_dimension *dummy=0)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <br></td></tr>
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type&lt; G &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">ggl::get</a> (const G &amp;geometry, detail::signature_getset_dimension *dummy=0)</td></tr>
 
@@ -73,7 +73,7 @@
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t I, std::size_t D, typename G &gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">ggl::set</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_index_dimension *dummy=0)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">assign a coordinate value of a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> / <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <br></td></tr>
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;std::size_t D, typename G &gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">ggl::set</a> (G &amp;geometry, const typename coordinate_type&lt; G &gt;::type &amp;value, detail::signature_getset_dimension *dummy=0)</td></tr>
 

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -69,194 +69,220 @@
 <a name="l00027"></a><a class="code" href="namespaceggl_1_1traits.html">00027</a> <span class="keyword">namespace </span>traits
 <a name="l00028"></a>00028 {
 <a name="l00029"></a>00029
-<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
-<a name="l00042"></a><a class="code" href="structggl_1_1traits_1_1access.html">00042</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> {};
-<a name="l00043"></a>00043
+<a name="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00043"></a><a class="code" href="structggl_1_1traits_1_1access.html">00043</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> {};
 <a name="l00044"></a>00044
-<a name="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00059"></a><a class="code" href="structggl_1_1traits_1_1indexed__access.html">00059</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1indexed__access.html" title="Traits class defining &amp;quot;get&amp;quot; and &amp;quot;set&amp;quot; to get and set point coordinate...">indexed_access</a> {};
-<a name="l00060"></a>00060
+<a name="l00045"></a>00045
+<a name="l00059"></a>00059 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00060"></a><a class="code" href="structggl_1_1traits_1_1indexed__access.html">00060</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1indexed__access.html" title="Traits class defining &amp;quot;get&amp;quot; and &amp;quot;set&amp;quot; to get and set point coordinate...">indexed_access</a> {};
 <a name="l00061"></a>00061
-<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G&gt;
-<a name="l00076"></a><a class="code" href="structggl_1_1traits_1_1use__std.html">00076</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">use_std</a>
-<a name="l00077"></a>00077 {
-<a name="l00078"></a><a class="code" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">00078</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">value</a> = <span class="keyword">true</span>;
-<a name="l00079"></a>00079 };
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 } <span class="comment">// namespace traits</span>
-<a name="l00082"></a>00082
+<a name="l00062"></a>00062
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00077"></a><a class="code" href="structggl_1_1traits_1_1use__std.html">00077</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">use_std</a>
+<a name="l00078"></a>00078 {
+<a name="l00079"></a><a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">00079</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">value</a> = <span class="keyword">true</span>;
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 } <span class="comment">// namespace traits</span>
 <a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00088"></a>00088 <span class="keyword">struct </span>access
-<a name="l00089"></a>00089 {
-<a name="l00090"></a>00090 <span class="comment">//static inline T get(const G&amp; ) {}</span>
-<a name="l00091"></a>00091 <span class="comment">//static inline void set(G&amp; g, const T&amp; value) {}</span>
-<a name="l00092"></a>00092 };
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00095"></a>00095 <span class="keyword">struct </span>indexed_access
-<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 <span class="comment">//static inline T get(const G&amp; ) {}</span>
-<a name="l00098"></a>00098 <span class="comment">//static inline void set(G&amp; g, const T&amp; value) {}</span>
-<a name="l00099"></a>00099 };
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00102"></a>00102 <span class="keyword">struct </span>access&lt;point_tag, P, T, D&gt;
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> P&amp; p)
-<a name="l00105"></a>00105 {
-<a name="l00106"></a>00106 <span class="keywordflow">return</span> traits::access&lt;P&gt;::template get&lt;D&gt;(p);
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(P&amp; p, <span class="keyword">const</span> T&amp; value)
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 traits::access&lt;P&gt;::template set&lt;D&gt;(p, value);
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112 };
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00115"></a>00115 <span class="keyword">struct </span>access&lt;nsphere_tag, S, T, D&gt;
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> S&amp; s)
-<a name="l00118"></a>00118 {
-<a name="l00119"></a>00119 <span class="keywordflow">return</span> traits::access&lt;S&gt;::template get&lt;D&gt;(s);
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(S&amp; s, <span class="keyword">const</span> T&amp; value)
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 traits::access&lt;S&gt;::template set&lt;D&gt;(s, value);
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 };
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00128"></a>00128 <span class="keyword">struct </span>indexed_access&lt;box_tag, B, T, I, D&gt;
-<a name="l00129"></a>00129 {
-<a name="l00130"></a>00130 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> B&amp; b)
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access&lt;B, I, D&gt;::get</a>(b);
-<a name="l00133"></a>00133 }
-<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(B&amp; b, <span class="keyword">const</span> T&amp; value)
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access&lt;B, I, D&gt;::set</a>(b, value);
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 };
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00141"></a>00141 <span class="keyword">struct </span>indexed_access&lt;segment_tag, S, T, I, D&gt;
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> S&amp; segment)
-<a name="l00144"></a>00144 {
-<a name="l00145"></a>00145 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access&lt;S, I, D&gt;::get</a>(segment);
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(S&amp; segment, <span class="keyword">const</span> T&amp; value)
-<a name="l00148"></a>00148 {
-<a name="l00149"></a>00149 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access&lt;S, I, D&gt;::set</a>(segment, value);
-<a name="l00150"></a>00150 }
-<a name="l00151"></a>00151 };
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 } <span class="comment">// namespace core_dispatch</span>
-<a name="l00154"></a>00154 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00155"></a>00155 <span class="preprocessor"></span>
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00158"></a>00158 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
-<a name="l00159"></a>00159 {
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span>
+<a name="l00090"></a>00090 &lt;
+<a name="l00091"></a>00091 <span class="keyword">typename</span> Tag,
+<a name="l00092"></a>00092 <span class="keyword">typename</span> Geometry,
+<a name="l00093"></a>00093 <span class="keyword">typename</span>
+<a name="l00094"></a>00094 CoordinateType, std::size_t Dimension
+<a name="l00095"></a>00095 &gt;
+<a name="l00096"></a>00096 <span class="keyword">struct </span>access
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="comment">//static inline T get(const G&amp; ) {}</span>
+<a name="l00099"></a>00099 <span class="comment">//static inline void set(G&amp; g, T const&amp; value) {}</span>
+<a name="l00100"></a>00100 };
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">template</span>
+<a name="l00103"></a>00103 &lt;
+<a name="l00104"></a>00104 <span class="keyword">typename</span> Tag,
+<a name="l00105"></a>00105 <span class="keyword">typename</span> Geometry,
+<a name="l00106"></a>00106 <span class="keyword">typename</span> CoordinateType,
+<a name="l00107"></a>00107 std::size_t Index,
+<a name="l00108"></a>00108 std::size_t Dimension
+<a name="l00109"></a>00109 &gt;
+<a name="l00110"></a>00110 <span class="keyword">struct </span>indexed_access
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="comment">//static inline T get(const G&amp; ) {}</span>
+<a name="l00113"></a>00113 <span class="comment">//static inline void set(G&amp; g, T const&amp; value) {}</span>
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00117"></a>00117 <span class="keyword">struct </span>access&lt;point_tag, Point, CoordinateType, Dimension&gt;
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Point <span class="keyword">const</span>&amp; point)
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::access&lt;Point, Dimension&gt;::get</a>(point);
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Point&amp; p, CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::access&lt;Point, Dimension&gt;::set</a>(p, value);
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127 };
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Nsphere, <span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00130"></a>00130 <span class="keyword">struct </span>access&lt;nsphere_tag, Nsphere, CoordinateType, Dimension&gt;
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Nsphere <span class="keyword">const</span>&amp; nsphere)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::access&lt;Nsphere, Dimension&gt;::get</a>(nsphere);
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Nsphere&amp; s, CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::access&lt;Nsphere, Dimension&gt;::set</a>(s, value);
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 };
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keyword">template</span>
+<a name="l00143"></a>00143 &lt;
+<a name="l00144"></a>00144 <span class="keyword">typename</span> Box,
+<a name="l00145"></a>00145 <span class="keyword">typename</span> CoordinateType,
+<a name="l00146"></a>00146 std::size_t Index,
+<a name="l00147"></a>00147 std::size_t Dimension
+<a name="l00148"></a>00148 &gt;
+<a name="l00149"></a>00149 <span class="keyword">struct </span>indexed_access&lt;box_tag, Box, CoordinateType, Index, Dimension&gt;
+<a name="l00150"></a>00150 {
+<a name="l00151"></a>00151 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Box <span class="keyword">const</span>&amp; box)
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access&lt;Box, Index, Dimension&gt;::get</a>(box);
+<a name="l00154"></a>00154 }
+<a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Box&amp; b, CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access&lt;Box, Index, Dimension&gt;::set</a>(b, value);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 };
 <a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="comment">// Two dummy tags to distinguish get/set variants below.</span>
-<a name="l00162"></a>00162 <span class="comment">// They don't have to be specified by the user. The functions are distinguished</span>
-<a name="l00163"></a>00163 <span class="comment">// by template signature also, but for e.g. GCC this is not enough. So give them</span>
-<a name="l00164"></a>00164 <span class="comment">// a different signature.</span>
-<a name="l00165"></a>00165 <span class="keyword">struct </span>signature_getset_dimension {};
-<a name="l00166"></a>00166 <span class="keyword">struct </span>signature_getset_index_dimension {};
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168 } <span class="comment">// namespace detail</span>
-<a name="l00169"></a>00169 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00170"></a>00170 <span class="preprocessor"></span>
-<a name="l00171"></a>00171
-<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
-<a name="l00182"></a><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">00182</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G&amp; geometry,
-<a name="l00183"></a>00183 detail::signature_getset_dimension* dummy = 0)
-<a name="l00184"></a>00184 {
-<a name="l00185"></a>00185 boost::ignore_unused_variable_warning(dummy);
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="keyword">typedef</span> core_dispatch::access
-<a name="l00190"></a>00190 &lt;
-<a name="l00191"></a>00191 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
-<a name="l00192"></a>00192 ncg_type,
-<a name="l00193"></a>00193 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
-<a name="l00194"></a>00194 D
-<a name="l00195"></a>00195 &gt; coord_access_type;
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
-<a name="l00198"></a>00198 }
-<a name="l00199"></a>00199
-<a name="l00200"></a>00200
-<a name="l00210"></a>00210 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
-<a name="l00211"></a><a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">00211</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G&amp; geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a>&amp; value,
-<a name="l00212"></a>00212 detail::signature_getset_dimension* dummy = 0)
-<a name="l00213"></a>00213 {
-<a name="l00214"></a>00214 boost::ignore_unused_variable_warning(dummy);
+<a name="l00161"></a>00161 <span class="keyword">template</span>
+<a name="l00162"></a>00162 &lt;
+<a name="l00163"></a>00163 <span class="keyword">typename</span> Segment,
+<a name="l00164"></a>00164 <span class="keyword">typename</span> CoordinateType,
+<a name="l00165"></a>00165 std::size_t Index,
+<a name="l00166"></a>00166 std::size_t Dimension
+<a name="l00167"></a>00167 &gt;
+<a name="l00168"></a>00168 <span class="keyword">struct </span>indexed_access&lt;segment_tag, Segment, CoordinateType, Index, Dimension&gt;
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Segment <span class="keyword">const</span>&amp; segment)
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access&lt;Segment, Index, Dimension&gt;::get</a>(segment);
+<a name="l00173"></a>00173 }
+<a name="l00174"></a>00174 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Segment&amp; segment, CoordinateType <span class="keyword">const</span>&amp; value)
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access&lt;Segment, Index, Dimension&gt;::set</a>(segment, value);
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178 };
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00181"></a>00181 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00182"></a>00182 <span class="preprocessor"></span>
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00186"></a>00186 {
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="comment">// Two dummy tags to distinguish get/set variants below.</span>
+<a name="l00189"></a>00189 <span class="comment">// They don't have to be specified by the user. The functions are distinguished</span>
+<a name="l00190"></a>00190 <span class="comment">// by template signature also, but for e.g. GCC this is not enough. So give them</span>
+<a name="l00191"></a>00191 <span class="comment">// a different signature.</span>
+<a name="l00192"></a>00192 <span class="keyword">struct </span>signature_getset_dimension {};
+<a name="l00193"></a>00193 <span class="keyword">struct </span>signature_getset_index_dimension {};
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 } <span class="comment">// namespace detail</span>
+<a name="l00196"></a>00196 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00197"></a>00197 <span class="preprocessor"></span>
+<a name="l00198"></a>00198
+<a name="l00208"></a>00208 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00209"></a><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">00209</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G&amp; geometry,
+<a name="l00210"></a>00210 detail::signature_getset_dimension* dummy = 0)
+<a name="l00211"></a>00211 {
+<a name="l00212"></a>00212 boost::ignore_unused_variable_warning(dummy);
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
 <a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
-<a name="l00217"></a>00217
-<a name="l00218"></a>00218 <span class="keyword">typedef</span> core_dispatch::access
-<a name="l00219"></a>00219 &lt;
-<a name="l00220"></a>00220 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
-<a name="l00221"></a>00221 ncg_type,
-<a name="l00222"></a>00222 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
-<a name="l00223"></a>00223 D
-<a name="l00224"></a>00224 &gt; coord_access_type;
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
-<a name="l00227"></a>00227 }
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <span class="comment">// Note: doxygen needs a construct to distinguish get/set (like the gcc compiler)</span>
-<a name="l00230"></a>00230
-<a name="l00241"></a>00241 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
-<a name="l00242"></a><a class="code" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">00242</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G&amp; geometry,
-<a name="l00243"></a>00243 detail::signature_getset_index_dimension* dummy = 0)
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 boost::ignore_unused_variable_warning(dummy);
-<a name="l00246"></a>00246
-<a name="l00247"></a>00247 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
-<a name="l00248"></a>00248
-<a name="l00249"></a>00249 <span class="keyword">typedef</span> core_dispatch::indexed_access
-<a name="l00250"></a>00250 &lt;
-<a name="l00251"></a>00251 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
-<a name="l00252"></a>00252 ncg_type,
-<a name="l00253"></a>00253 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
-<a name="l00254"></a>00254 I,
-<a name="l00255"></a>00255 D
-<a name="l00256"></a>00256 &gt; coord_access_type;
+<a name="l00216"></a>00216 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00217"></a>00217 &lt;
+<a name="l00218"></a>00218 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00219"></a>00219 ncg_type,
+<a name="l00220"></a>00220 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
+<a name="l00221"></a>00221 D
+<a name="l00222"></a>00222 &gt; coord_access_type;
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227
+<a name="l00237"></a>00237 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00238"></a><a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">00238</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G&amp; geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a>&amp; value,
+<a name="l00239"></a>00239 detail::signature_getset_dimension* dummy = 0)
+<a name="l00240"></a>00240 {
+<a name="l00241"></a>00241 boost::ignore_unused_variable_warning(dummy);
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00244"></a>00244
+<a name="l00245"></a>00245 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00246"></a>00246 &lt;
+<a name="l00247"></a>00247 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00248"></a>00248 ncg_type,
+<a name="l00249"></a>00249 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
+<a name="l00250"></a>00250 D
+<a name="l00251"></a>00251 &gt; coord_access_type;
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="comment">// Note: doxygen needs a construct to distinguish get/set (like the gcc compiler)</span>
 <a name="l00257"></a>00257
-<a name="l00258"></a>00258 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
-<a name="l00259"></a>00259 }
-<a name="l00260"></a>00260
-<a name="l00271"></a>00271 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
-<a name="l00272"></a><a class="code" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">00272</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G&amp; geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a>&amp; value,
-<a name="l00273"></a>00273 detail::signature_getset_index_dimension* dummy = 0)
-<a name="l00274"></a>00274 {
-<a name="l00275"></a>00275 boost::ignore_unused_variable_warning(dummy);
-<a name="l00276"></a>00276
-<a name="l00277"></a>00277 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
-<a name="l00278"></a>00278
-<a name="l00279"></a>00279 <span class="keyword">typedef</span> core_dispatch::indexed_access
-<a name="l00280"></a>00280 &lt;
-<a name="l00281"></a>00281 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, ncg_type,
-<a name="l00282"></a>00282 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
-<a name="l00283"></a>00283 I,
-<a name="l00284"></a>00284 D
-<a name="l00285"></a>00285 &gt; coord_access_type;
-<a name="l00286"></a>00286
-<a name="l00287"></a>00287 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
-<a name="l00288"></a>00288 }
-<a name="l00289"></a>00289
-<a name="l00290"></a>00290 } <span class="comment">// namespace ggl</span>
-<a name="l00291"></a>00291
-<a name="l00292"></a>00292 <span class="preprocessor">#endif // GGL_CORE_ACCESS_HPP</span>
+<a name="l00268"></a>00268 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00269"></a><a class="code" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">00269</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G&amp; geometry,
+<a name="l00270"></a>00270 detail::signature_getset_index_dimension* dummy = 0)
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272 boost::ignore_unused_variable_warning(dummy);
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00277"></a>00277 &lt;
+<a name="l00278"></a>00278 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
+<a name="l00279"></a>00279 ncg_type,
+<a name="l00280"></a>00280 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
+<a name="l00281"></a>00281 I,
+<a name="l00282"></a>00282 D
+<a name="l00283"></a>00283 &gt; coord_access_type;
+<a name="l00284"></a>00284
+<a name="l00285"></a>00285 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
+<a name="l00286"></a>00286 }
+<a name="l00287"></a>00287
+<a name="l00298"></a>00298 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G&gt;
+<a name="l00299"></a><a class="code" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">00299</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G&amp; geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;G&gt;::type</a>&amp; value,
+<a name="l00300"></a>00300 detail::signature_getset_index_dimension* dummy = 0)
+<a name="l00301"></a>00301 {
+<a name="l00302"></a>00302 boost::ignore_unused_variable_warning(dummy);
+<a name="l00303"></a>00303
+<a name="l00304"></a>00304 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const&lt;G&gt;::type ncg_type;
+<a name="l00305"></a>00305
+<a name="l00306"></a>00306 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00307"></a>00307 &lt;
+<a name="l00308"></a>00308 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, ncg_type,
+<a name="l00309"></a>00309 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;ncg_type&gt;::type</a>,
+<a name="l00310"></a>00310 I,
+<a name="l00311"></a>00311 D
+<a name="l00312"></a>00312 &gt; coord_access_type;
+<a name="l00313"></a>00313
+<a name="l00314"></a>00314 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
+<a name="l00315"></a>00315 }
+<a name="l00316"></a>00316
+<a name="l00317"></a>00317 } <span class="comment">// namespace ggl</span>
+<a name="l00318"></a>00318
+<a name="l00319"></a>00319 <span class="preprocessor">#endif // GGL_CORE_ACCESS_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/strategies/agnostic/agn_simplify.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm. More...<br></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">ggl::strategy::simplify</a></td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by&nbsp;Doxygen
-</small></address>
-</body>
-</html>

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,236 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/strategies/agnostic/agn_simplify.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_AGNOSTIC_SIMPLIFY_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_SIMPLIFY_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="comment">//#define GL_DEBUG_SIMPLIFY</span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/write_wkt.hpp&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;ggl/extensions/gis/io/wkt/stream_wkt.hpp&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;iostream&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#endif</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span>
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028 <span class="keyword">namespace </span>strategy
-<a name="l00029"></a>00029 {
-<a name="l00030"></a><a class="code" href="namespaceggl_1_1strategy_1_1simplify.html">00030</a> <span class="keyword">namespace </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="preprocessor"> #ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span> <span class="keyword">namespace </span>detail
-<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035
-<a name="l00044"></a>00044 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
-<a name="l00045"></a>00045 <span class="keyword">struct </span>douglas_peucker_point
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 <span class="keyword">const</span> P&amp; p;
-<a name="l00048"></a>00048 <span class="keywordtype">bool</span> included;
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keyword">inline</span> douglas_peucker_point(<span class="keyword">const</span> P&amp; ap)
-<a name="l00051"></a>00051 : p(ap)
-<a name="l00052"></a>00052 , included(<span class="keyword">false</span>)
-<a name="l00053"></a>00053 {}
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keyword">inline</span> douglas_peucker_point&lt;P&gt; operator=(<span class="keyword">const</span> douglas_peucker_point&lt;P&gt;&amp; other)
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <span class="keywordflow">return</span> douglas_peucker_point&lt;P&gt;(*this);
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059 };
-<a name="l00060"></a>00060 }
-<a name="l00061"></a>00061 <span class="preprocessor"> #endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span>
-<a name="l00063"></a>00063
-<a name="l00078"></a>00078 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> O_IT, <span class="keyword">typename</span> PSDS&gt;
-<a name="l00079"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">00079</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">douglas_peucker</a>
-<a name="l00080"></a>00080 {
-<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;R&gt;::type</a> P;
-<a name="l00082"></a>00082 <span class="keyword">typedef</span> detail::douglas_peucker_point&lt;P&gt; DP;
-<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector&lt;DP&gt;::iterator DIT;
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> PSDS::return_type RET;
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="keyword">inline</span> <span class="keywordtype">void</span> consider(DIT begin, DIT end, <span class="keyword">const</span> RET&amp; max_dist, <span class="keywordtype">int</span>&amp; n,
-<a name="l00088"></a>00088 <span class="keyword">const</span> PSDS&amp; ps_distance_strategy)<span class="keyword"> const</span>
-<a name="l00089"></a>00089 <span class="keyword"> </span>{
-<a name="l00090"></a>00090 <span class="keywordtype">size_t</span> size = end - begin;
-<a name="l00091"></a>00091 <span class="comment">// size must be at least 3 here: we want to consider a candidate point between begin and end</span>
-<a name="l00092"></a>00092 <span class="keywordflow">if</span> (size &lt;= 2)
-<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
-<a name="l00095"></a>00095 <span class="preprocessor"></span> <span class="keywordflow">if</span> (begin != end)
-<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 std::cout &lt;&lt; <span class="stringliteral">"ignore between "</span> &lt;&lt; begin-&gt;p &lt;&lt; <span class="stringliteral">" and "</span> &lt;&lt; (end - 1)-&gt;p &lt;&lt; <span class="stringliteral">" size="</span> &lt;&lt; size &lt;&lt; std::endl;
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099 std::cout &lt;&lt; <span class="stringliteral">"return because size="</span> &lt;&lt; size &lt;&lt; std::endl;
-<a name="l00100"></a>00100 <span class="preprocessor">#endif</span>
-<a name="l00101"></a>00101 <span class="preprocessor"></span> <span class="keywordflow">return</span>;
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 DIT last = end - 1;
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
-<a name="l00107"></a>00107 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"find between "</span> &lt;&lt; begin-&gt;p &lt;&lt; <span class="stringliteral">" and "</span> &lt;&lt; last-&gt;p &lt;&lt; <span class="stringliteral">" size="</span> &lt;&lt; size &lt;&lt; std::endl;
-<a name="l00108"></a>00108 <span class="preprocessor">#endif</span>
-<a name="l00109"></a>00109 <span class="preprocessor"></span>
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="comment">// Find most distance point, compare to the current segment</span>
-<a name="l00112"></a>00112 <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const P&gt;</a> s(begin-&gt;p, last-&gt;p);
-<a name="l00113"></a>00113 RET md(-1.0); <span class="comment">// any value &lt; 0</span>
-<a name="l00114"></a>00114 DIT candidate;
-<a name="l00115"></a>00115 <span class="keywordflow">for</span>(DIT it = begin + 1; it != last; it++)
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 RET dist = ps_distance_strategy(it-&gt;p, s);
-<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
-<a name="l00120"></a>00120 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"consider "</span> &lt;&lt; it-&gt;p &lt;&lt; <span class="stringliteral">" at "</span> &lt;&lt; dist.value() &lt;&lt; (dist.value() &gt; max_dist.value() ? <span class="stringliteral">" maybe"</span> : <span class="stringliteral">" no"</span>) &lt;&lt; std::endl;
-<a name="l00121"></a>00121 <span class="preprocessor">#endif</span>
-<a name="l00122"></a>00122 <span class="preprocessor"></span> <span class="keywordflow">if</span> (dist &gt; md)
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124 md = dist;
-<a name="l00125"></a>00125 candidate = it;
-<a name="l00126"></a>00126 }
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="comment">// If a point is found, set the include flag and handle segments in between recursively</span>
-<a name="l00130"></a>00130 <span class="keywordflow">if</span> (md &gt; max_dist)
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="preprocessor">#ifdef GL_DEBUG_SIMPLIFY</span>
-<a name="l00133"></a>00133 <span class="preprocessor"></span> std::cout &lt;&lt; <span class="stringliteral">"use "</span> &lt;&lt; candidate-&gt;p &lt;&lt; std::endl;
-<a name="l00134"></a>00134 <span class="preprocessor">#endif</span>
-<a name="l00135"></a>00135 <span class="preprocessor"></span>
-<a name="l00136"></a>00136 candidate-&gt;included = <span class="keyword">true</span>;
-<a name="l00137"></a>00137 n++;
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 consider(begin, candidate + 1, max_dist, n, ps_distance_strategy);
-<a name="l00140"></a>00140 consider(candidate, end, max_dist, n, ps_distance_strategy);
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142 }
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keyword">public</span> :
-<a name="l00146"></a>00146
-<a name="l00147"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">00147</a> <span class="keyword">typedef</span> PSDS <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a>;
-<a name="l00148"></a>00148
-<a name="l00152"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">00152</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add" title="Call simplification on an iterator pair.">simplify</a>(<span class="keyword">const</span> R&amp; range, O_IT out, <span class="keywordtype">double</span> max_distance)<span class="keyword"> const</span>
-<a name="l00153"></a>00153 <span class="keyword"> </span>{
-<a name="l00154"></a>00154 PSDS strategy;
-<a name="l00155"></a>00155 <span class="comment">// Init the output, a vector of references to all points</span>
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <span class="comment">// Note Geometry Algorithms suggest here</span>
-<a name="l00158"></a>00158 <span class="comment">// http://geometryalgorithms.com/Archive/algorithm_0205/algorithm_0205.htm>
-<a name="l00159"></a>00159 <span class="comment">// to "STAGE 1: Vertex Reduction within max_distance of prior vertex cluster"</span>
-<a name="l00160"></a>00160 <span class="comment">// However, that is not correct: a vertex within the specified distance might be</span>
-<a name="l00161"></a>00161 <span class="comment">// excluded here, but might be a better candidate for final inclusion than the point before.</span>
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 std::vector&lt;DP&gt; ref_candidates(boost::begin(range), boost::end(range));
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 <span class="comment">// Include first and last point of line, they are always part of the line</span>
-<a name="l00166"></a>00166 <span class="keywordtype">int</span> n = 2;
-<a name="l00167"></a>00167 ref_candidates.front().included = <span class="keyword">true</span>;
-<a name="l00168"></a>00168 ref_candidates.back().included = <span class="keyword">true</span>;
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="comment">// Get points, recursively, including them if they are further away than the specified distance</span>
-<a name="l00171"></a>00171 <span class="keyword">typedef</span> <span class="keyword">typename</span> PSDS::return_type RET;
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 consider(boost::begin(ref_candidates), boost::end(ref_candidates),
-<a name="l00174"></a>00174 make_distance_result&lt;RET&gt;(max_distance), n, strategy);
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="comment">// Copy included elements to the output (might be changed using copy_if)</span>
-<a name="l00177"></a>00177 <span class="keywordflow">for</span>(<span class="keyword">typename</span> std::vector&lt;DP&gt;::const_iterator it = boost::begin(ref_candidates);
-<a name="l00178"></a>00178 it != boost::end(ref_candidates); it++)
-<a name="l00179"></a>00179 {
-<a name="l00180"></a>00180 <span class="keywordflow">if</span> (it-&gt;included)
-<a name="l00181"></a>00181 {
-<a name="l00182"></a>00182 *out = it-&gt;p;
-<a name="l00183"></a>00183 out++;
-<a name="l00184"></a>00184 }
-<a name="l00185"></a>00185 }
-<a name="l00186"></a>00186 }
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 };
-<a name="l00189"></a>00189
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191 }
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 } <span class="comment">// namespace ggl</span>
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_SIMPLIFY_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by&nbsp;
Doxygen
-</small></address>
-</body>
-</html>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -90,7 +90,7 @@
 <a name="l00059"></a>00059 };
 <a name="l00060"></a>00060
 <a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt;
-<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_touch(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, windings&amp; state)
+<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_touch(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, windings&amp; state)
 <a name="l00063"></a>00063 {
 <a name="l00064"></a>00064 <span class="keyword">const</span> PT&amp; p = get&lt;D&gt;(state.p);
 <a name="l00065"></a>00065 <span class="keyword">const</span> ST&amp; s1 = get&lt;0, D&gt;(s);
@@ -104,7 +104,7 @@
 <a name="l00073"></a>00073
 <a name="l00074"></a>00074
 <a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keywordtype">size_t</span> D&gt;
-<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_segment(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, windings&amp; state)
+<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_segment(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, windings&amp; state)
 <a name="l00077"></a>00077 {
 <a name="l00078"></a>00078 <span class="keyword">const</span> PT&amp; p = get&lt;D&gt;(state.p);
 <a name="l00079"></a>00079 <span class="keyword">const</span> ST&amp; s1 = get&lt;0, D&gt;(s);
@@ -134,7 +134,7 @@
 <a name="l00103"></a>00103
 <a name="l00104"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">00104</a> <span class="keyword">typedef</span> windings <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a>;
 <a name="l00105"></a>00105
-<a name="l00106"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">00106</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00106"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">00106</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a>&amp; state)<span class="keyword"> const</span>
 <a name="l00107"></a>00107 <span class="keyword"> </span>{
 <a name="l00108"></a>00108 <span class="keywordtype">int</span> cnt = check_segment&lt;1&gt;(s, state);
 <a name="l00109"></a>00109 <span class="keywordflow">if</span> (cnt != 0)

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -46,9 +46,6 @@
 <p>
 <a href="algorithms_2area_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td></tr>
-
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
 
@@ -58,10 +55,9 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">area_result&lt; Geometry &gt;<br class="typebreak">
-::return_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">ggl::area</a> (Geometry const &amp;geometry)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">area_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">ggl::area</a> (Geometry const &amp;geometry)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry. <br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate area of a geometry. <br></td></tr>
 </table>
 </div>
 <hr size="1">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -52,10 +52,10 @@
 <a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_AREA_HPP</span>
 <a name="l00011"></a>00011 <span class="preprocessor"></span>
 <a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00016"></a>00016
 <a name="l00017"></a>00017
 <a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="point__order_8hpp.html">ggl/core/point_order.hpp</a>&gt;</span>
 <a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
@@ -64,231 +64,203 @@
 <a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
 <a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>&gt;</span>
 <a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
-<a name="l00029"></a>00029
-<a name="l00052"></a>00052 <span class="keyword">namespace </span>ggl
-<a name="l00053"></a>00053 {
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a> {
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> S&gt;
-<a name="l00059"></a>00059 <span class="keyword">struct </span>box_area
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type&lt;B&gt;::type</a> return_type;
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(B <span class="keyword">const</span>&amp; b, S <span class="keyword">const</span>&amp;)
-<a name="l00064"></a>00064 {
-<a name="l00065"></a>00065 <span class="comment">// Currently only works for Cartesian boxes</span>
-<a name="l00066"></a>00066 <span class="comment">// Todo: use strategy</span>
-<a name="l00067"></a>00067 <span class="comment">// Todo: use concept</span>
-<a name="l00068"></a>00068 assert_dimension&lt;B, 2&gt;();
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 return_type <span class="keyword">const</span> dx = get&lt;max_corner, 0&gt;(b) - get&lt;min_corner, 0&gt;(b);
-<a name="l00071"></a>00071 return_type <span class="keyword">const</span> dy = get&lt;max_corner, 1&gt;(b) - get&lt;min_corner, 1&gt;(b);
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> dx * dy;
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075 };
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="area__result_8hpp.html">ggl/strategies/area_result.hpp</a>&gt;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>&gt;</span>
+<a name="l00033"></a>00033
+<a name="l00056"></a>00056 <span class="keyword">namespace </span>ggl
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> B, <span class="keyword">typename</span> S&gt;
+<a name="l00063"></a>00063 <span class="keyword">struct </span>box_area
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type&lt;B&gt;::type</a> return_type;
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(B <span class="keyword">const</span>&amp; b, S <span class="keyword">const</span>&amp;)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="comment">// Currently only works for Cartesian boxes</span>
+<a name="l00070"></a>00070 <span class="comment">// Todo: use strategy</span>
+<a name="l00071"></a>00071 <span class="comment">// Todo: use concept</span>
+<a name="l00072"></a>00072 assert_dimension&lt;B, 2&gt;();
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 return_type <span class="keyword">const</span> dx = get&lt;max_corner, 0&gt;(b) - get&lt;min_corner, 0&gt;(b);
+<a name="l00075"></a>00075 return_type <span class="keyword">const</span> dy = get&lt;max_corner, 1&gt;(b) - get&lt;min_corner, 1&gt;(b);
 <a name="l00076"></a>00076
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> S&gt;
-<a name="l00079"></a>00079 <span class="keyword">struct </span>circle_area
-<a name="l00080"></a>00080 {
-<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;C&gt;::type coordinate_type;
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="comment">// Returning the coordinate precision, but if integer, returning a double</span>
-<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
-<a name="l00085"></a>00085 &lt;
-<a name="l00086"></a>00086 boost::is_integral&lt;coordinate_type&gt;::type::value,
-<a name="l00087"></a>00087 double,
-<a name="l00088"></a>00088 coordinate_type
-<a name="l00089"></a>00089 &gt;::type return_type;
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(C <span class="keyword">const</span>&amp; c, S <span class="keyword">const</span>&amp;)
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 <span class="comment">// Currently only works for Cartesian circles</span>
-<a name="l00094"></a>00094 <span class="comment">// Todo: use strategy</span>
-<a name="l00095"></a>00095 <span class="comment">// Todo: use concept</span>
-<a name="l00096"></a>00096 assert_dimension&lt;C, 2&gt;();
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 return_type r = get_radius&lt;0&gt;(c);
-<a name="l00099"></a>00099 r *= r * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a>;
-<a name="l00100"></a>00100 <span class="keywordflow">return</span> r;
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102 };
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="comment">// Area of a linear linear_ring</span>
-<a name="l00106"></a>00106 <span class="keyword">template</span>
-<a name="l00107"></a>00107 &lt;
-<a name="l00108"></a>00108 <span class="keyword">typename</span> R,
-<a name="l00109"></a>00109 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
-<a name="l00110"></a>00110 <span class="comment">// closing_selector Closed -- for now assuming CLOSED, p(0) == p(n-1)</span>
-<a name="l00111"></a>00111 <span class="keyword">typename</span> S
-<a name="l00112"></a>00112 &gt;
-<a name="l00113"></a>00113 <span class="keyword">struct </span>ring_area
-<a name="l00114"></a>00114 {};
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
-<a name="l00118"></a>00118 <span class="keyword">struct </span>ring_area&lt;R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, S&gt;
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
-<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(R <span class="keyword">const</span>&amp; ring, S <span class="keyword">const</span>&amp; strategy)
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 assert_dimension&lt;R, 2&gt;();
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 <span class="comment">// A closed linear_ring has at least four points,</span>
-<a name="l00126"></a>00126 <span class="comment">// if not, there is no (zero) area</span>
-<a name="l00127"></a>00127 <span class="keywordflow">if</span> (boost::size(ring) &gt;= 4)
-<a name="l00128"></a>00128 {
-<a name="l00129"></a>00129 <span class="keyword">typename</span> S::state_type state_type;
-<a name="l00130"></a>00130 <span class="keywordflow">if</span> (<a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(ring, strategy, state_type))
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keywordflow">return</span> state_type.area();
-<a name="l00133"></a>00133 }
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="keywordflow">return</span> type();
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 };
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> dx * dy;
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> C, <span class="keyword">typename</span> S&gt;
+<a name="l00083"></a>00083 <span class="keyword">struct </span>circle_area
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type&lt;C&gt;::type coordinate_type;
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="comment">// Returning the coordinate precision, but if integer, returning a double</span>
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00089"></a>00089 &lt;
+<a name="l00090"></a>00090 boost::is_integral&lt;coordinate_type&gt;::type::value,
+<a name="l00091"></a>00091 double,
+<a name="l00092"></a>00092 coordinate_type
+<a name="l00093"></a>00093 &gt;::type return_type;
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(C <span class="keyword">const</span>&amp; c, S <span class="keyword">const</span>&amp;)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="comment">// Currently only works for Cartesian circles</span>
+<a name="l00098"></a>00098 <span class="comment">// Todo: use strategy</span>
+<a name="l00099"></a>00099 <span class="comment">// Todo: use concept</span>
+<a name="l00100"></a>00100 assert_dimension&lt;C, 2&gt;();
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 return_type r = get_radius&lt;0&gt;(c);
+<a name="l00103"></a>00103 r *= r * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a>;
+<a name="l00104"></a>00104 <span class="keywordflow">return</span> r;
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106 };
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="comment">// Area of a linear linear_ring</span>
+<a name="l00110"></a>00110 <span class="keyword">template</span>
+<a name="l00111"></a>00111 &lt;
+<a name="l00112"></a>00112 <span class="keyword">typename</span> R,
+<a name="l00113"></a>00113 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00114"></a>00114 <span class="comment">// closing_selector Closed -- for now assuming CLOSED, p(0) == p(n-1)</span>
+<a name="l00115"></a>00115 <span class="keyword">typename</span> S
+<a name="l00116"></a>00116 &gt;
+<a name="l00117"></a>00117 <span class="keyword">struct </span>ring_area
+<a name="l00118"></a>00118 {};
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
+<a name="l00122"></a>00122 <span class="keyword">struct </span>ring_area&lt;R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, S&gt;
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
+<a name="l00125"></a>00125 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(R <span class="keyword">const</span>&amp; ring, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 assert_dimension&lt;R, 2&gt;();
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="comment">// A closed linear_ring has at least four points,</span>
+<a name="l00130"></a>00130 <span class="comment">// if not, there is no (zero) area</span>
+<a name="l00131"></a>00131 <span class="keywordflow">if</span> (boost::size(ring) &gt;= 4)
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">typename</span> S::state_type state_type;
+<a name="l00134"></a>00134 <span class="keywordflow">if</span> (<a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(ring, strategy, state_type))
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keywordflow">return</span> state_type.area();
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138 }
 <a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
-<a name="l00141"></a>00141 <span class="keyword">struct </span>ring_area&lt;R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>, S&gt;
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
-<a name="l00144"></a>00144 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(R <span class="keyword">const</span>&amp; ring, S <span class="keyword">const</span>&amp; strategy)
-<a name="l00145"></a>00145 {
-<a name="l00146"></a>00146 <span class="comment">// Counter clockwise rings negate the area result</span>
-<a name="l00147"></a>00147 <span class="keywordflow">return</span> -ring_area&lt;R, clockwise, S&gt;::apply(ring, strategy);
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149 };
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 <span class="comment">// Area of a polygon, either clockwise or anticlockwise</span>
-<a name="l00153"></a>00153 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00154"></a>00154 <span class="keyword">class </span>polygon_area
-<a name="l00155"></a>00155 {
-<a name="l00156"></a>00156 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type type;
+<a name="l00140"></a>00140 <span class="keywordflow">return</span> type();
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 };
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
+<a name="l00145"></a>00145 <span class="keyword">struct </span>ring_area&lt;R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>, S&gt;
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
+<a name="l00148"></a>00148 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(R <span class="keyword">const</span>&amp; ring, S <span class="keyword">const</span>&amp; strategy)
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="comment">// Counter clockwise rings negate the area result</span>
+<a name="l00151"></a>00151 <span class="keywordflow">return</span> -ring_area&lt;R, clockwise, S&gt;::apply(ring, strategy);
+<a name="l00152"></a>00152 }
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 }} <span class="comment">// namespace detail::area</span>
 <a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="keyword">public</span>:
-<a name="l00159"></a>00159 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(Polygon <span class="keyword">const</span>&amp; poly,
-<a name="l00160"></a>00160 Strategy <span class="keyword">const</span>&amp; strategy)
-<a name="l00161"></a>00161 {
-<a name="l00162"></a>00162 assert_dimension&lt;Polygon, 2&gt;();
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keyword">typedef</span> ring_area
-<a name="l00165"></a>00165 &lt;
-<a name="l00166"></a>00166 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
-<a name="l00167"></a>00167 Order,
-<a name="l00168"></a>00168 Strategy
-<a name="l00169"></a>00169 &gt; ring_area_type;
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00172"></a>00172 &lt;
-<a name="l00173"></a>00173 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
-<a name="l00174"></a>00174 &gt;::type iterator_type;
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 type a = ring_area_type::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy);
+<a name="l00158"></a>00158 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00159"></a>00159 <span class="preprocessor"></span>
+<a name="l00160"></a>00160 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00161"></a>00161 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00164"></a>00164 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>
+<a name="l00165"></a>00165 : detail::calculate_null
+<a name="l00166"></a>00166 &lt;
+<a name="l00167"></a>00167 typename Strategy::return_type,
+<a name="l00168"></a>00168 Geometry,
+<a name="l00169"></a>00169 Strategy
+<a name="l00170"></a>00170 &gt; {};
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;box_tag, Geometry, Order, Strategy&gt;
+<a name="l00175"></a>00175 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::box_area&lt;Geometry, Strategy&gt;
+<a name="l00176"></a>00176 {};
 <a name="l00177"></a>00177
-<a name="l00178"></a>00178 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00179"></a>00179 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); ++it)
-<a name="l00180"></a>00180 {
-<a name="l00181"></a>00181 <span class="comment">// Add ring-area (area of hole should be negative</span>
-<a name="l00182"></a>00182 <span class="comment">// (because other order))</span>
-<a name="l00183"></a>00183 a += ring_area_type::apply(*it, strategy);
-<a name="l00184"></a>00184 }
-<a name="l00185"></a>00185 <span class="keywordflow">return</span> a;
-<a name="l00186"></a>00186 }
-<a name="l00187"></a>00187 };
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 }} <span class="comment">// namespace detail::area</span>
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00192"></a>00192 <span class="preprocessor"></span>
-<a name="l00193"></a>00193 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00194"></a>00194 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00197"></a>00197 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>
-<a name="l00198"></a>00198 : detail::calculate_null
-<a name="l00199"></a>00199 &lt;
-<a name="l00200"></a>00200 typename Strategy::return_type,
-<a name="l00201"></a>00201 Geometry,
-<a name="l00202"></a>00202 Strategy
-<a name="l00203"></a>00203 &gt; {};
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205
-<a name="l00206"></a>00206 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00207"></a>00207 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>&lt;box_tag, Geometry, Order, Strategy&gt;
-<a name="l00208"></a>00208 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::box_area&lt;Geometry, Strategy&gt; {};
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00212"></a>00212 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>&lt;nsphere_tag, Geometry, Order, Strategy&gt;
-<a name="l00213"></a>00213 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::circle_area&lt;Geometry, Strategy&gt; {};
-<a name="l00214"></a>00214
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="comment">// Area of ring currently returns area of closed rings but it might be argued</span>
-<a name="l00217"></a>00217 <span class="comment">// that it is 0.0, because a ring is just a line.</span>
-<a name="l00218"></a>00218 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00219"></a>00219 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>&lt;ring_tag, Geometry, Order, Strategy&gt;
-<a name="l00220"></a>00220 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::ring_area&lt;Geometry, Order, Strategy&gt; {};
-<a name="l00221"></a>00221
-<a name="l00222"></a>00222 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00223"></a>00223 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>&lt;polygon_tag, Geometry, Order, Strategy&gt;
-<a name="l00224"></a>00224 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::polygon_area&lt;Geometry, Order, Strategy&gt; {};
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 } <span class="comment">// namespace dispatch</span>
-<a name="l00227"></a>00227 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00228"></a>00228 <span class="preprocessor"></span>
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00180"></a>00180 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;nsphere_tag, Geometry, Order, Strategy&gt;
+<a name="l00181"></a>00181 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::circle_area&lt;Geometry, Strategy&gt;
+<a name="l00182"></a>00182 {};
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="comment">// Area of ring currently returns area of closed rings but it might be argued</span>
+<a name="l00186"></a>00186 <span class="comment">// that it is 0.0, because a ring is just a line.</span>
+<a name="l00187"></a>00187 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00188"></a>00188 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;ring_tag, Geometry, Order, Strategy&gt;
+<a name="l00189"></a>00189 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::ring_area&lt;Geometry, Order, Strategy&gt;
+<a name="l00190"></a>00190 {};
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, order_selector Order, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00193"></a>00193 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;polygon_tag, Polygon, Order, Strategy&gt;
+<a name="l00194"></a>00194 : detail::calculate_polygon_sum
+<a name="l00195"></a>00195 &lt;
+<a name="l00196"></a>00196 typename Strategy::return_type,
+<a name="l00197"></a>00197 Polygon,
+<a name="l00198"></a>00198 Strategy,
+<a name="l00199"></a>00199 detail::area::ring_area
+<a name="l00200"></a>00200 &lt;
+<a name="l00201"></a>00201 typename ring_type&lt;Polygon&gt;::type,
+<a name="l00202"></a>00202 Order,
+<a name="l00203"></a>00203 Strategy
+<a name="l00204"></a>00204 &gt;
+<a name="l00205"></a>00205 &gt;
+<a name="l00206"></a>00206 <span class="comment">//: detail::area::polygon_area&lt;Geometry, Order, Strategy&gt; </span>
+<a name="l00207"></a>00207 {};
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 } <span class="comment">// namespace dispatch</span>
+<a name="l00210"></a>00210 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00211"></a>00211 <span class="preprocessor"></span>
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213
+<a name="l00225"></a>00225 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00226"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">00226</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1area__result.html" title="Meta-function defining return type of area function.">area_result&lt;Geometry&gt;::type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00227"></a>00227 {
+<a name="l00228"></a>00228 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">area_result&lt;Geometry&gt;::strategy_type</a> strategy_type;
 <a name="l00229"></a>00229
-<a name="l00230"></a>00230 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
-<a name="l00231"></a><a class="code" href="structggl_1_1area__result.html">00231</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1area__result.html">area_result</a>
-<a name="l00232"></a>00232 {
-<a name="l00233"></a><a class="code" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">00233</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry&gt;::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00234"></a>00234 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__area.html" title="Traits class binding an area strategy to a coordinate system.">strategy_area</a>
-<a name="l00235"></a>00235 &lt;
-<a name="l00236"></a>00236 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point_type&gt;::type</a>,
-<a name="l00237"></a>00237 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>
-<a name="l00238"></a><a class="code" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">00238</a> &gt;::type <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy_type</a>;
-<a name="l00239"></a><a class="code" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">00239</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type <a class="code" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">return_type</a>;
-<a name="l00240"></a>00240 };
-<a name="l00241"></a>00241
-<a name="l00253"></a>00253 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
-<a name="l00254"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">00254</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1area__result.html">area_result&lt;Geometry&gt;::return_type</a> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(Geometry <span class="keyword">const</span>&amp; geometry)
-<a name="l00255"></a>00255 {
-<a name="l00256"></a>00256 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">area_result&lt;Geometry&gt;::strategy_type</a> strategy_type;
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <span class="keywordflow">return</span> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">dispatch::area</a>
-<a name="l00259"></a>00259 &lt;
-<a name="l00260"></a>00260 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
-<a name="l00261"></a>00261 Geometry,
-<a name="l00262"></a>00262 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Geometry&gt;::value</a>,
-<a name="l00263"></a>00263 strategy_type
-<a name="l00264"></a>00264 &gt;::apply(geometry, strategy_type());
-<a name="l00265"></a>00265 }
-<a name="l00266"></a>00266
-<a name="l00276"></a>00276 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00277"></a><a class="code" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">00277</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(
-<a name="l00278"></a>00278 Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
-<a name="l00279"></a>00279 {
-<a name="l00280"></a>00280 <span class="keywordflow">return</span> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">dispatch::area</a>
-<a name="l00281"></a>00281 &lt;
-<a name="l00282"></a>00282 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
-<a name="l00283"></a>00283 Geometry,
-<a name="l00284"></a>00284 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Geometry&gt;::value</a>,
-<a name="l00285"></a>00285 Strategy
-<a name="l00286"></a>00286 &gt;::apply(geometry, strategy);
-<a name="l00287"></a>00287 }
-<a name="l00288"></a>00288
-<a name="l00289"></a>00289 } <span class="comment">// namespace ggl</span>
-<a name="l00290"></a>00290
-<a name="l00291"></a>00291 <span class="preprocessor">#endif // GGL_ALGORITHMS_AREA_HPP</span>
+<a name="l00230"></a>00230 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">dispatch::area</a>
+<a name="l00231"></a>00231 &lt;
+<a name="l00232"></a>00232 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00233"></a>00233 Geometry,
+<a name="l00234"></a>00234 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Geometry&gt;::value</a>,
+<a name="l00235"></a>00235 strategy_type
+<a name="l00236"></a>00236 &gt;::apply(geometry, strategy_type());
+<a name="l00237"></a>00237 }
+<a name="l00238"></a>00238
+<a name="l00248"></a>00248 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00249"></a><a class="code" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">00249</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(
+<a name="l00250"></a>00250 Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00251"></a>00251 {
+<a name="l00252"></a>00252 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">dispatch::area</a>
+<a name="l00253"></a>00253 &lt;
+<a name="l00254"></a>00254 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00255"></a>00255 Geometry,
+<a name="l00256"></a>00256 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order&lt;Geometry&gt;::value</a>,
+<a name="l00257"></a>00257 Strategy
+<a name="l00258"></a>00258 &gt;::apply(geometry, strategy);
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 } <span class="comment">// namespace ggl</span>
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="preprocessor">#endif // GGL_ALGORITHMS_AREA_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/algorithms/for_each.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g66bf40f0ee4dc883d9d3b621aeb2e81d">ggl::for_each_point</a> (Geometry &amp;geometry, Functor f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f">ggl::for_each_point</a> (Geometry const &amp;geometry, Functor f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g529f5655aa7702e9f143263b484ff91b">ggl::for_each_segment</a> (Geometry &amp;geometry, Functor f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Functor &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Functor&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e">ggl::for_each_segment</a> (Geometry const &amp;geometry, Functor f)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/algorithms/for_each.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_FOR_EACH_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_FOR_EACH_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;algorithm&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.hpp</a>&gt;</span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">namespace </span>ggl
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="comment">// There is probably something in boost type_traits</span>
+<a name="l00043"></a>00043 <span class="comment">// or MPL with this functionality</span>
+<a name="l00044"></a>00044 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Type, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00045"></a>00045 <span class="keyword">struct </span>c_nc
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00048"></a>00048 &lt;
+<a name="l00049"></a>00049 IsConst,
+<a name="l00050"></a>00050 <span class="keyword">const</span> Type,
+<a name="l00051"></a>00051 Type
+<a name="l00052"></a>00052 &gt;::type type;
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// Utility to adapt a boost-range for const/non const</span>
+<a name="l00056"></a>00056 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00057"></a>00057 <span class="keyword">struct </span>c_nc_range
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00060"></a>00060 &lt;
+<a name="l00061"></a>00061 IsConst,
+<a name="l00062"></a>00062 <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type,
+<a name="l00063"></a>00063 <span class="keyword">typename</span> boost::range_iterator&lt;Range&gt;::type
+<a name="l00064"></a>00064 &gt;::type type;
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00069"></a>00069 <span class="keyword">struct </span>fe_point_per_point
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00072"></a>00072 <span class="keyword">typename</span> c_nc&lt;Point, IsConst&gt;::type&amp; point, Functor f)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 f(point);
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> f;
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00080"></a>00080 <span class="keyword">struct </span>fe_point_per_segment
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00083"></a>00083 <span class="keyword">typename</span> c_nc&lt;Point, IsConst&gt;::type&amp; point, Functor f)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> f;
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span>fe_range_per_point
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00093"></a>00093 <span class="keyword">typename</span> c_nc&lt;Range, IsConst&gt;::type&amp; range,
+<a name="l00094"></a>00094 Functor f)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00101"></a>00101 <span class="keyword">struct </span>fe_range_per_segment
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00104"></a>00104 <span class="keyword">typename</span> c_nc&lt;Range, IsConst&gt;::type&amp; range,
+<a name="l00105"></a>00105 Functor f)
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator&lt;Range, IsConst&gt;::type</a> iterator_type;
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc
+<a name="l00110"></a>00110 &lt;
+<a name="l00111"></a>00111 <span class="keyword">typename</span> point_type&lt;Range&gt;::type, IsConst
+<a name="l00112"></a>00112 &gt;::type point_type;
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 iterator_type it = boost::begin(range);
+<a name="l00115"></a>00115 iterator_type previous = it++;
+<a name="l00116"></a>00116 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 segment&lt;point_type&gt; s(*previous, *it);
+<a name="l00119"></a>00119 f(s);
+<a name="l00120"></a>00120 previous = it++;
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> f;
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 };
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00129"></a>00129 <span class="keyword">struct </span>fe_polygon_per_point
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00132"></a>00132 <span class="keyword">typename</span> c_nc&lt;Polygon, IsConst&gt;::type&amp; poly,
+<a name="l00133"></a>00133 Functor f)
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc_range
+<a name="l00136"></a>00136 &lt;
+<a name="l00137"></a>00137 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type,
+<a name="l00138"></a>00138 IsConst
+<a name="l00139"></a>00139 &gt;::type iterator_type;
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="keyword">typedef</span> fe_range_per_point
+<a name="l00142"></a>00142 &lt;
+<a name="l00143"></a>00143 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00144"></a>00144 Functor,
+<a name="l00145"></a>00145 IsConst
+<a name="l00146"></a>00146 &gt; per_ring;
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 f = per_ring::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00151"></a>00151 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00152"></a>00152 ++it)
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 f = per_ring::apply(*it, f);
+<a name="l00155"></a>00155 }
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> f;
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 };
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00164"></a>00164 <span class="keyword">struct </span>fe_polygon_per_segment
+<a name="l00165"></a>00165 {
+<a name="l00166"></a>00166 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00167"></a>00167 <span class="keyword">typename</span> c_nc&lt;Polygon, IsConst&gt;::type&amp; poly,
+<a name="l00168"></a>00168 Functor f)
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc_range
+<a name="l00171"></a>00171 &lt;
+<a name="l00172"></a>00172 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type,
+<a name="l00173"></a>00173 IsConst
+<a name="l00174"></a>00174 &gt;::type iterator_type;
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="keyword">typedef</span> fe_range_per_segment
+<a name="l00177"></a>00177 &lt;
+<a name="l00178"></a>00178 <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type,
+<a name="l00179"></a>00179 Functor,
+<a name="l00180"></a>00180 IsConst
+<a name="l00181"></a>00181 &gt; per_ring;
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 f = per_ring::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00186"></a>00186 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00187"></a>00187 ++it)
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 f = per_ring::apply(*it, f);
+<a name="l00190"></a>00190 }
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keywordflow">return</span> f;
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 };
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 }} <span class="comment">// namespace detail::for_each</span>
+<a name="l00198"></a>00198 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00199"></a>00199 <span class="preprocessor"></span>
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00202"></a>00202 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 <span class="keyword">template</span>
+<a name="l00206"></a>00206 &lt;
+<a name="l00207"></a>00207 <span class="keyword">typename</span> Tag,
+<a name="l00208"></a>00208 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00209"></a>00209 <span class="keyword">typename</span> Geometry,
+<a name="l00210"></a>00210 <span class="keyword">typename</span> Functor,
+<a name="l00211"></a>00211 <span class="keywordtype">bool</span> IsConst
+<a name="l00212"></a>00212 &gt;
+<a name="l00213"></a>00213 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a> {};
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00216"></a>00216 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;point_tag, false, Point, Functor, IsConst&gt;
+<a name="l00217"></a>00217 : detail::for_each::fe_point_per_point&lt;Point, Functor, IsConst&gt;
+<a name="l00218"></a>00218 {};
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00221"></a>00221 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;linestring_tag, false, Linestring, Functor, IsConst&gt;
+<a name="l00222"></a>00222 : detail::for_each::fe_range_per_point&lt;Linestring, Functor, IsConst&gt;
+<a name="l00223"></a>00223 {};
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00226"></a>00226 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;ring_tag, false, Ring, Functor, IsConst&gt;
+<a name="l00227"></a>00227 : detail::for_each::fe_range_per_point&lt;Ring, Functor, IsConst&gt;
+<a name="l00228"></a>00228 {};
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00231"></a>00231 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>&lt;polygon_tag, false, Polygon, Functor, IsConst&gt;
+<a name="l00232"></a>00232 : detail::for_each::fe_polygon_per_point&lt;Polygon, Functor, IsConst&gt;
+<a name="l00233"></a>00233 {};
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <span class="keyword">template</span>
+<a name="l00239"></a>00239 &lt;
+<a name="l00240"></a>00240 <span class="keyword">typename</span> Tag,
+<a name="l00241"></a>00241 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00242"></a>00242 <span class="keyword">typename</span> Geometry,
+<a name="l00243"></a>00243 <span class="keyword">typename</span> Functor,
+<a name="l00244"></a>00244 <span class="keywordtype">bool</span> IsConst
+<a name="l00245"></a>00245 &gt;
+<a name="l00246"></a>00246 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a> {};
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00249"></a>00249 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;point_tag, false, Point, Functor, IsConst&gt;
+<a name="l00250"></a>00250 : detail::for_each::fe_point_per_segment&lt;Point, Functor, IsConst&gt;
+<a name="l00251"></a>00251 {};
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00254"></a>00254 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;linestring_tag, false, Linestring, Functor, IsConst&gt;
+<a name="l00255"></a>00255 : detail::for_each::fe_range_per_segment&lt;Linestring, Functor, IsConst&gt;
+<a name="l00256"></a>00256 {};
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00259"></a>00259 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;ring_tag, false, Ring, Functor, IsConst&gt;
+<a name="l00260"></a>00260 : detail::for_each::fe_range_per_segment&lt;Ring, Functor, IsConst&gt;
+<a name="l00261"></a>00261 {};
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst&gt;
+<a name="l00264"></a>00264 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>&lt;polygon_tag, false, Polygon, Functor, IsConst&gt;
+<a name="l00265"></a>00265 : detail::for_each::fe_polygon_per_segment&lt;Polygon, Functor, IsConst&gt;
+<a name="l00266"></a>00266 {};
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 } <span class="comment">// namespace dispatch</span>
+<a name="l00270"></a>00270 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00271"></a>00271 <span class="preprocessor"></span>
+<a name="l00279"></a>00279 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00280"></a><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f">00280</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry <span class="keyword">const</span>&amp; geometry, Functor f)
+<a name="l00281"></a>00281 {
+<a name="l00282"></a>00282 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
+<a name="l00283"></a>00283 &lt;
+<a name="l00284"></a>00284 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00285"></a>00285 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;Geometry&gt;::type::value</a>,
+<a name="l00286"></a>00286 Geometry,
+<a name="l00287"></a>00287 Functor,
+<a name="l00288"></a>00288 <span class="keyword">true</span>
+<a name="l00289"></a>00289 &gt;::apply(geometry, f);
+<a name="l00290"></a>00290 }
+<a name="l00291"></a>00291
+<a name="l00299"></a>00299 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00300"></a><a class="code" href="group__loop.html#g66bf40f0ee4dc883d9d3b621aeb2e81d">00300</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry&amp; geometry, Functor f)
+<a name="l00301"></a>00301 {
+<a name="l00302"></a>00302 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
+<a name="l00303"></a>00303 &lt;
+<a name="l00304"></a>00304 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00305"></a>00305 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;Geometry&gt;::type::value</a>,
+<a name="l00306"></a>00306 Geometry,
+<a name="l00307"></a>00307 Functor,
+<a name="l00308"></a>00308 <span class="keyword">false</span>
+<a name="l00309"></a>00309 &gt;::apply(geometry, f);
+<a name="l00310"></a>00310 }
+<a name="l00311"></a>00311
+<a name="l00319"></a>00319 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00320"></a><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e">00320</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry <span class="keyword">const</span>&amp; geometry, Functor f)
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
+<a name="l00323"></a>00323 &lt;
+<a name="l00324"></a>00324 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00325"></a>00325 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;Geometry&gt;::type::value</a>,
+<a name="l00326"></a>00326 Geometry,
+<a name="l00327"></a>00327 Functor,
+<a name="l00328"></a>00328 <span class="keyword">true</span>
+<a name="l00329"></a>00329 &gt;::apply(geometry, f);
+<a name="l00330"></a>00330 }
+<a name="l00331"></a>00331
+<a name="l00332"></a>00332
+<a name="l00340"></a>00340 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor&gt;
+<a name="l00341"></a><a class="code" href="group__loop.html#g529f5655aa7702e9f143263b484ff91b">00341</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry&amp; geometry, Functor f)
+<a name="l00342"></a>00342 {
+<a name="l00343"></a>00343 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
+<a name="l00344"></a>00344 &lt;
+<a name="l00345"></a>00345 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00346"></a>00346 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &amp;quot;true&amp;quot; for multi geometries (multi_point, etc).">is_multi&lt;Geometry&gt;::type::value</a>,
+<a name="l00347"></a>00347 Geometry,
+<a name="l00348"></a>00348 Functor,
+<a name="l00349"></a>00349 <span class="keyword">false</span>
+<a name="l00350"></a>00350 &gt;::apply(geometry, f);
+<a name="l00351"></a>00351 }
+<a name="l00352"></a>00352
+<a name="l00353"></a>00353 } <span class="comment">// namespace ggl</span>
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 <span class="preprocessor">#endif // GGL_ALGORITHMS_FOR_EACH_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -53,386 +53,389 @@
 <a name="l00011"></a>00011 <span class="preprocessor"></span>
 <a name="l00012"></a>00012 <span class="preprocessor">#include &lt;deque&gt;</span>
 <a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
 <a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>&gt;</span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="merge__intersection__points_8hpp.html">ggl/algorithms/overlay/merge_intersection_points.hpp</a>&gt;</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>&gt;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>&gt;</span>
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027
-<a name="l00073"></a>00073 <span class="keyword">namespace </span>ggl
-<a name="l00074"></a>00074 {
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>&gt;</span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="merge__intersection__points_8hpp.html">ggl/algorithms/overlay/merge_intersection_points.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>&gt;</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>&gt;</span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00076"></a>00076 <span class="keyword">namespace </span>ggl
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078
 <a name="l00079"></a>00079
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keyword">template</span>
-<a name="l00082"></a>00082 &lt;
-<a name="l00083"></a>00083 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
-<a name="l00084"></a>00084 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00085"></a>00085 &gt;
-<a name="l00086"></a>00086 <span class="keyword">struct </span>intersection_polygon_polygon
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon1 <span class="keyword">const</span>&amp; polygon1,
-<a name="l00089"></a>00089 Polygon2 <span class="keyword">const</span>&amp; polygon2, OutputIterator out)
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="keyword">typedef</span> detail::intersection::intersection_point
-<a name="l00092"></a>00092 &lt;
-<a name="l00093"></a>00093 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;GeometryOut&gt;::type</a>
-<a name="l00094"></a>00094 &gt; ip_type;
-<a name="l00095"></a>00095 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; ips_container;
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;GeometryOut&gt;::type</a> ring_type;
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 ips_container ips;
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon1, polygon2, ips);
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="keywordflow">if</span> (ips.size() &lt;= 0)
-<a name="l00104"></a>00104 {
-<a name="l00105"></a>00105 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
-<a name="l00106"></a>00106 <span class="comment">// assume both polygons having points</span>
-<a name="l00107"></a>00107 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon1).front(), polygon2))
-<a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 <span class="comment">// Assume same type (output = input)</span>
-<a name="l00110"></a>00110 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
-<a name="l00111"></a>00111 *out = polygon1;
-<a name="l00112"></a>00112 out++;
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon2).front(), polygon1))
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116 *out = polygon2;
-<a name="l00117"></a>00117 out++;
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120 <span class="keywordflow">else</span>
-<a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 <span class="keywordflow">if</span> (! trivial)
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
-<a name="l00125"></a>00125 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl::adapt_turns</a>(ips);
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
-<a name="l00130"></a>00130
+<a name="l00080"></a>00080 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">template</span>
+<a name="l00085"></a>00085 &lt;
+<a name="l00086"></a>00086 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
+<a name="l00087"></a>00087 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00088"></a>00088 &gt;
+<a name="l00089"></a>00089 <span class="keyword">struct </span>intersection_polygon_polygon
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon1 <span class="keyword">const</span>&amp; polygon1,
+<a name="l00092"></a>00092 Polygon2 <span class="keyword">const</span>&amp; polygon2, OutputIterator out)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> detail::intersection::intersection_point
+<a name="l00095"></a>00095 &lt;
+<a name="l00096"></a>00096 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;GeometryOut&gt;::type</a>
+<a name="l00097"></a>00097 &gt; ip_type;
+<a name="l00098"></a>00098 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; ips_container;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;GeometryOut&gt;::type</a> ring_type;
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 ips_container ips;
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon1, polygon2, ips);
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordflow">if</span> (ips.size() &lt;= 0)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
+<a name="l00109"></a>00109 <span class="comment">// assume both polygons having points</span>
+<a name="l00110"></a>00110 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon1).front(), polygon2))
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="comment">// Assume same type (output = input)</span>
+<a name="l00113"></a>00113 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
+<a name="l00114"></a>00114 *out = polygon1;
+<a name="l00115"></a>00115 out++;
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon2).front(), polygon1))
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 *out = polygon2;
+<a name="l00120"></a>00120 out++;
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 <span class="keywordflow">else</span>
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <span class="keywordflow">if</span> (! trivial)
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
+<a name="l00128"></a>00128 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl::adapt_turns</a>(ips);
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 }
 <a name="l00131"></a>00131
-<a name="l00132"></a>00132 std::vector&lt;ring_type&gt; v;
-<a name="l00133"></a>00133 ggl::traverse&lt;ring_type&gt;
-<a name="l00134"></a>00134 (
-<a name="l00135"></a>00135 polygon1,
-<a name="l00136"></a>00136 polygon2,
-<a name="l00137"></a>00137 -1,
-<a name="l00138"></a>00138 ips,
-<a name="l00139"></a>00139 trivial,
-<a name="l00140"></a>00140 std::back_inserter(v)
-<a name="l00141"></a>00141 );
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="comment">// TODO:</span>
-<a name="l00145"></a>00145 <span class="comment">// assemble rings / inner rings / to polygons</span>
-<a name="l00146"></a>00146 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;ring_type&gt;::const_iterator it = v.begin();
-<a name="l00147"></a>00147 it != v.end(); ++it)
-<a name="l00148"></a>00148 {
-<a name="l00149"></a>00149 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
-<a name="l00150"></a>00150 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
-<a name="l00151"></a>00151 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
-<a name="l00152"></a>00152 <span class="comment">// So output iterators are not that good.</span>
-<a name="l00153"></a>00153 GeometryOut poly;
-<a name="l00154"></a>00154 poly.outer() = *it;
-<a name="l00155"></a>00155 *out = poly;
-<a name="l00156"></a>00156 out++;
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keywordflow">return</span> out;
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163 };
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166
+<a name="l00132"></a>00132 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 std::vector&lt;ring_type&gt; v;
+<a name="l00136"></a>00136 ggl::traverse&lt;ring_type&gt;
+<a name="l00137"></a>00137 (
+<a name="l00138"></a>00138 polygon1,
+<a name="l00139"></a>00139 polygon2,
+<a name="l00140"></a>00140 -1,
+<a name="l00141"></a>00141 ips,
+<a name="l00142"></a>00142 trivial,
+<a name="l00143"></a>00143 std::back_inserter(v)
+<a name="l00144"></a>00144 );
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="comment">// TODO:</span>
+<a name="l00148"></a>00148 <span class="comment">// assemble rings / inner rings / to polygons</span>
+<a name="l00149"></a>00149 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;ring_type&gt;::const_iterator it = v.begin();
+<a name="l00150"></a>00150 it != v.end(); ++it)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
+<a name="l00153"></a>00153 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
+<a name="l00154"></a>00154 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
+<a name="l00155"></a>00155 <span class="comment">// So output iterators are not that good.</span>
+<a name="l00156"></a>00156 GeometryOut poly;
+<a name="l00157"></a>00157 poly.outer() = *it;
+<a name="l00158"></a>00158 *out = poly;
+<a name="l00159"></a>00159 out++;
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="keywordflow">return</span> out;
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166 };
 <a name="l00167"></a>00167
-<a name="l00168"></a>00168 <span class="keyword">template</span>
-<a name="l00169"></a>00169 &lt;
-<a name="l00170"></a>00170 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
-<a name="l00171"></a>00171 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00172"></a>00172 &gt;
-<a name="l00173"></a>00173 <span class="keyword">struct </span>intersection_polygon_box
-<a name="l00174"></a>00174 {
-<a name="l00175"></a>00175 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon <span class="keyword">const</span>&amp; polygon,
-<a name="l00176"></a>00176 Box <span class="keyword">const</span>&amp; box, OutputIterator out)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;GeometryOut&gt;::type</a> point_type;
-<a name="l00179"></a>00179 <span class="keyword">typedef</span> detail::intersection::intersection_point&lt;point_type&gt; ip_type;
-<a name="l00180"></a>00180 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; ips_container;
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;GeometryOut&gt;::type</a> ring_type;
-<a name="l00183"></a>00183
-<a name="l00184"></a>00184 ips_container ips;
-<a name="l00185"></a>00185
-<a name="l00186"></a>00186 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon, box, ips);
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <span class="comment">// TODO: share this all with polygon_polygon using an "assemble" function!</span>
-<a name="l00189"></a>00189 <span class="comment">// It is only different in the 'within' calls, can be sorted out with specialization</span>
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">template</span>
+<a name="l00172"></a>00172 &lt;
+<a name="l00173"></a>00173 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00174"></a>00174 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00175"></a>00175 &gt;
+<a name="l00176"></a>00176 <span class="keyword">struct </span>intersection_polygon_box
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon <span class="keyword">const</span>&amp; polygon,
+<a name="l00179"></a>00179 Box <span class="keyword">const</span>&amp; box, OutputIterator out)
+<a name="l00180"></a>00180 {
+<a name="l00181"></a>00181 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;GeometryOut&gt;::type</a> point_type;
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> detail::intersection::intersection_point&lt;point_type&gt; ip_type;
+<a name="l00183"></a>00183 <span class="keyword">typedef</span> std::deque&lt;ip_type&gt; ips_container;
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type&lt;GeometryOut&gt;::type</a> ring_type;
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 ips_container ips;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon, box, ips);
 <a name="l00190"></a>00190
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <span class="keywordflow">if</span> (ips.size() &lt;= 0)
-<a name="l00193"></a>00193 {
-<a name="l00194"></a>00194 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
-<a name="l00195"></a>00195 <span class="comment">// assume both polygons having points</span>
-<a name="l00196"></a>00196 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon).front(), box))
-<a name="l00197"></a>00197 {
-<a name="l00198"></a>00198 <span class="comment">// Assume same type (output = input)</span>
-<a name="l00199"></a>00199 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
-<a name="l00200"></a>00200 *out = polygon;
-<a name="l00201"></a>00201 out++;
-<a name="l00202"></a>00202 }
-<a name="l00203"></a>00203 <span class="keywordflow">else</span>
-<a name="l00204"></a>00204 {
-<a name="l00205"></a>00205 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Box&gt;::type</a> p;
-<a name="l00206"></a>00206 ggl::set&lt;0&gt;(p, ggl::get&lt;min_corner, 0&gt;(box));
-<a name="l00207"></a>00207 ggl::set&lt;1&gt;(p, ggl::get&lt;min_corner, 1&gt;(box));
-<a name="l00208"></a>00208 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, polygon))
-<a name="l00209"></a>00209 {
-<a name="l00210"></a>00210 GeometryOut boxpoly;
-<a name="l00211"></a>00211 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(box, boxpoly);
-<a name="l00212"></a>00212 *out = boxpoly;
-<a name="l00213"></a>00213 out++;
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215 }
-<a name="l00216"></a>00216 }
-<a name="l00217"></a>00217 <span class="keywordflow">else</span>
-<a name="l00218"></a>00218 {
-<a name="l00219"></a>00219 <span class="keywordflow">if</span> (trivial)
-<a name="l00220"></a>00220 {
-<a name="l00221"></a>00221 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
-<a name="l00222"></a>00222 }
-<a name="l00223"></a>00223
-<a name="l00224"></a>00224 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 std::vector&lt;ring_type&gt; v;
-<a name="l00227"></a>00227 ggl::traverse&lt;ring_type&gt;
-<a name="l00228"></a>00228 (
-<a name="l00229"></a>00229 polygon,
-<a name="l00230"></a>00230 box,
-<a name="l00231"></a>00231 -1,
-<a name="l00232"></a>00232 ips,
-<a name="l00233"></a>00233 trivial,
-<a name="l00234"></a>00234 std::back_inserter(v)
-<a name="l00235"></a>00235 );
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237 <span class="comment">// TODO:</span>
-<a name="l00238"></a>00238 <span class="comment">// assemble rings / inner rings / to polygons</span>
-<a name="l00239"></a>00239 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;ring_type&gt;::const_iterator it = v.begin();
-<a name="l00240"></a>00240 it != v.end(); ++it)
-<a name="l00241"></a>00241 {
-<a name="l00242"></a>00242 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
-<a name="l00243"></a>00243 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
-<a name="l00244"></a>00244 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
-<a name="l00245"></a>00245 <span class="comment">// So output iterators are not that good.</span>
-<a name="l00246"></a>00246 GeometryOut poly;
-<a name="l00247"></a>00247 poly.outer() = *it;
-<a name="l00248"></a>00248 *out = poly;
-<a name="l00249"></a>00249 out++;
-<a name="l00250"></a>00250 }
-<a name="l00251"></a>00251 }
-<a name="l00252"></a>00252
-<a name="l00253"></a>00253
-<a name="l00254"></a>00254 <span class="keywordflow">return</span> out;
-<a name="l00255"></a>00255 }
-<a name="l00256"></a>00256 };
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258
-<a name="l00259"></a>00259 }} <span class="comment">// namespace detail::intersection</span>
-<a name="l00260"></a>00260 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00261"></a>00261 <span class="preprocessor"></span>
-<a name="l00262"></a>00262
-<a name="l00263"></a>00263
-<a name="l00264"></a>00264
+<a name="l00191"></a>00191 <span class="comment">// TODO: share this all with polygon_polygon using an "assemble" function!</span>
+<a name="l00192"></a>00192 <span class="comment">// It is only different in the 'within' calls, can be sorted out with specialization</span>
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <span class="keywordflow">if</span> (ips.size() &lt;= 0)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
+<a name="l00198"></a>00198 <span class="comment">// assume both polygons having points</span>
+<a name="l00199"></a>00199 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon).front(), box))
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201 <span class="comment">// Assume same type (output = input)</span>
+<a name="l00202"></a>00202 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
+<a name="l00203"></a>00203 *out = polygon;
+<a name="l00204"></a>00204 out++;
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 <span class="keywordflow">else</span>
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type&lt;Box&gt;::type</a> p;
+<a name="l00209"></a>00209 ggl::set&lt;0&gt;(p, ggl::get&lt;min_corner, 0&gt;(box));
+<a name="l00210"></a>00210 ggl::set&lt;1&gt;(p, ggl::get&lt;min_corner, 1&gt;(box));
+<a name="l00211"></a>00211 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, polygon))
+<a name="l00212"></a>00212 {
+<a name="l00213"></a>00213 GeometryOut boxpoly;
+<a name="l00214"></a>00214 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(box, boxpoly);
+<a name="l00215"></a>00215 *out = boxpoly;
+<a name="l00216"></a>00216 out++;
+<a name="l00217"></a>00217 }
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219 }
+<a name="l00220"></a>00220 <span class="keywordflow">else</span>
+<a name="l00221"></a>00221 {
+<a name="l00222"></a>00222 <span class="keywordflow">if</span> (trivial)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 std::vector&lt;ring_type&gt; v;
+<a name="l00230"></a>00230 ggl::traverse&lt;ring_type&gt;
+<a name="l00231"></a>00231 (
+<a name="l00232"></a>00232 polygon,
+<a name="l00233"></a>00233 box,
+<a name="l00234"></a>00234 -1,
+<a name="l00235"></a>00235 ips,
+<a name="l00236"></a>00236 trivial,
+<a name="l00237"></a>00237 std::back_inserter(v)
+<a name="l00238"></a>00238 );
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 <span class="comment">// TODO:</span>
+<a name="l00241"></a>00241 <span class="comment">// assemble rings / inner rings / to polygons</span>
+<a name="l00242"></a>00242 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector&lt;ring_type&gt;::const_iterator it = v.begin();
+<a name="l00243"></a>00243 it != v.end(); ++it)
+<a name="l00244"></a>00244 {
+<a name="l00245"></a>00245 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
+<a name="l00246"></a>00246 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
+<a name="l00247"></a>00247 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
+<a name="l00248"></a>00248 <span class="comment">// So output iterators are not that good.</span>
+<a name="l00249"></a>00249 GeometryOut poly;
+<a name="l00250"></a>00250 poly.outer() = *it;
+<a name="l00251"></a>00251 *out = poly;
+<a name="l00252"></a>00252 out++;
+<a name="l00253"></a>00253 }
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 <span class="keywordflow">return</span> out;
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259 };
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00263"></a>00263 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00264"></a>00264 <span class="preprocessor"></span>
 <a name="l00265"></a>00265
-<a name="l00266"></a>00266 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00267"></a>00267 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00268"></a>00268 {
-<a name="l00269"></a>00269
-<a name="l00270"></a>00270 <span class="keyword">template</span>
-<a name="l00271"></a>00271 &lt;
-<a name="l00272"></a>00272 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Tag3,
-<a name="l00273"></a>00273 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
-<a name="l00274"></a>00274 <span class="keyword">typename</span> OutputIterator,
-<a name="l00275"></a>00275 <span class="keyword">typename</span> GeometryOut
-<a name="l00276"></a>00276 &gt;
-<a name="l00277"></a>00277 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {};
-<a name="l00278"></a>00278
-<a name="l00279"></a>00279
-<a name="l00280"></a>00280 <span class="keyword">template</span>
-<a name="l00281"></a>00281 &lt;
-<a name="l00282"></a>00282 <span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2,
-<a name="l00283"></a>00283 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00284"></a>00284 &gt;
-<a name="l00285"></a>00285 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00286"></a>00286 &lt;
-<a name="l00287"></a>00287 segment_tag, segment_tag, point_tag,
-<a name="l00288"></a>00288 Segment1, Segment2,
-<a name="l00289"></a>00289 OutputIterator, GeometryOut
-<a name="l00290"></a>00290 &gt;
-<a name="l00291"></a>00291 {
-<a name="l00292"></a>00292 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Segment1 <span class="keyword">const</span>&amp; segment1,
-<a name="l00293"></a>00293 Segment2 <span class="keyword">const</span>&amp; segment2, OutputIterator out)
-<a name="l00294"></a>00294 {
-<a name="l00295"></a>00295 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
-<a name="l00296"></a>00296
-<a name="l00297"></a>00297 <span class="comment">// Get the intersection point (or two points)</span>
-<a name="l00298"></a>00298 segment_intersection_points&lt;point_type&gt; is
-<a name="l00299"></a>00299 = strategy::intersection::relate_cartesian_segments
-<a name="l00300"></a>00300 &lt;
-<a name="l00301"></a>00301 policies::relate::segments_intersection_points
-<a name="l00302"></a>00302 &lt;
-<a name="l00303"></a>00303 Segment1,
-<a name="l00304"></a>00304 Segment2,
-<a name="l00305"></a>00305 segment_intersection_points&lt;point_type&gt;
-<a name="l00306"></a>00306 &gt;
-<a name="l00307"></a>00307 &gt;::relate(segment1, segment2);
-<a name="l00308"></a>00308 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; is.count; i++)
-<a name="l00309"></a>00309 {
-<a name="l00310"></a>00310 GeometryOut p;
-<a name="l00311"></a>00311 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">ggl::copy_coordinates</a>(is.intersections[i], p);
-<a name="l00312"></a>00312 *out = p;
-<a name="l00313"></a>00313 out++;
-<a name="l00314"></a>00314 }
-<a name="l00315"></a>00315 <span class="keywordflow">return</span> out;
-<a name="l00316"></a>00316 }
-<a name="l00317"></a>00317 };
-<a name="l00318"></a>00318
-<a name="l00319"></a>00319
-<a name="l00320"></a>00320 <span class="keyword">template</span>
-<a name="l00321"></a>00321 &lt;
-<a name="l00322"></a>00322 <span class="keyword">typename</span> Linestring, <span class="keyword">typename</span> Box,
-<a name="l00323"></a>00323 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00324"></a>00324 &gt;
-<a name="l00325"></a>00325 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00326"></a>00326 &lt;
-<a name="l00327"></a>00327 linestring_tag, box_tag, linestring_tag,
-<a name="l00328"></a>00328 Linestring, Box,
-<a name="l00329"></a>00329 OutputIterator, GeometryOut
-<a name="l00330"></a>00330 &gt;
-<a name="l00331"></a>00331 {
-<a name="l00332"></a>00332 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Linestring <span class="keyword">const</span>&amp; linestring,
-<a name="l00333"></a>00333 Box <span class="keyword">const</span>&amp; box, OutputIterator out)
-<a name="l00334"></a>00334 {
-<a name="l00335"></a>00335 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
-<a name="l00336"></a>00336 strategy::intersection::liang_barsky&lt;Box, point_type&gt; strategy;
-<a name="l00337"></a>00337 <span class="keywordflow">return</span> detail::intersection::clip_linestring_with_box&lt;GeometryOut&gt;(box, linestring, out, strategy);
-<a name="l00338"></a>00338 }
-<a name="l00339"></a>00339 };
-<a name="l00340"></a>00340
-<a name="l00341"></a>00341
-<a name="l00342"></a>00342 <span class="keyword">template</span>
-<a name="l00343"></a>00343 &lt;
-<a name="l00344"></a>00344 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
-<a name="l00345"></a>00345 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00346"></a>00346 &gt;
-<a name="l00347"></a>00347 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00348"></a>00348 &lt;
-<a name="l00349"></a>00349 polygon_tag, polygon_tag, polygon_tag,
-<a name="l00350"></a>00350 Polygon1, Polygon2,
-<a name="l00351"></a>00351 OutputIterator, GeometryOut
-<a name="l00352"></a>00352 &gt;
-<a name="l00353"></a>00353 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_polygon
-<a name="l00354"></a>00354 &lt;Polygon1, Polygon2, OutputIterator, GeometryOut&gt;
-<a name="l00355"></a>00355 {};
-<a name="l00356"></a>00356
-<a name="l00357"></a>00357
-<a name="l00358"></a>00358
-<a name="l00359"></a>00359 <span class="keyword">template</span>
-<a name="l00360"></a>00360 &lt;
-<a name="l00361"></a>00361 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
-<a name="l00362"></a>00362 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00363"></a>00363 &gt;
-<a name="l00364"></a>00364 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00365"></a>00365 &lt;
-<a name="l00366"></a>00366 polygon_tag, box_tag, polygon_tag,
-<a name="l00367"></a>00367 Polygon, Box,
-<a name="l00368"></a>00368 OutputIterator, GeometryOut
-<a name="l00369"></a>00369 &gt;
-<a name="l00370"></a>00370 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_box
-<a name="l00371"></a>00371 &lt;Polygon, Box, OutputIterator, GeometryOut&gt;
-<a name="l00372"></a>00372 {};
-<a name="l00373"></a>00373
-<a name="l00374"></a>00374
-<a name="l00375"></a>00375
-<a name="l00376"></a>00376 <span class="keyword">template</span>
-<a name="l00377"></a>00377 &lt;
-<a name="l00378"></a>00378 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2, <span class="keyword">typename</span> GeometryTag3,
-<a name="l00379"></a>00379 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
-<a name="l00380"></a>00380 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00381"></a>00381 &gt;
-<a name="l00382"></a>00382 <span class="keyword">struct </span>intersection_reversed
-<a name="l00383"></a>00383 {
-<a name="l00384"></a>00384 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, OutputIterator out)
-<a name="l00385"></a>00385 {
-<a name="l00386"></a>00386 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00387"></a>00387 &lt;
-<a name="l00388"></a>00388 GeometryTag2, GeometryTag1, GeometryTag3,
-<a name="l00389"></a>00389 G2, G1,
-<a name="l00390"></a>00390 OutputIterator, GeometryOut
-<a name="l00391"></a>00391 &gt;::apply(g2, g1, out);
-<a name="l00392"></a>00392 }
-<a name="l00393"></a>00393 };
-<a name="l00394"></a>00394
-<a name="l00395"></a>00395
-<a name="l00396"></a>00396
-<a name="l00397"></a>00397 } <span class="comment">// namespace dispatch</span>
-<a name="l00398"></a>00398 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00399"></a>00399 <span class="preprocessor"></span>
-<a name="l00417"></a>00417 <span class="keyword">template</span>
-<a name="l00418"></a>00418 &lt;
-<a name="l00419"></a>00419 <span class="keyword">typename</span> GeometryOut,
-<a name="l00420"></a>00420 <span class="keyword">typename</span> Geometry1,
-<a name="l00421"></a>00421 <span class="keyword">typename</span> Geometry2,
-<a name="l00422"></a>00422 <span class="keyword">typename</span> OutputIterator
-<a name="l00423"></a>00423 &gt;
-<a name="l00424"></a><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">00424</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
-<a name="l00425"></a>00425 Geometry2 <span class="keyword">const</span>&amp; geometry2,
-<a name="l00426"></a>00426 OutputIterator out)
-<a name="l00427"></a>00427 {
-<a name="l00428"></a>00428
-<a name="l00429"></a>00429 <span class="keywordflow">return</span> boost::mpl::if_c
-<a name="l00430"></a>00430 &lt;
-<a name="l00431"></a>00431 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
-<a name="l00432"></a>00432 dispatch::intersection_reversed
-<a name="l00433"></a>00433 &lt;
-<a name="l00434"></a>00434 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry1&gt;::type</a>,
-<a name="l00435"></a>00435 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry2&gt;::type</a>,
-<a name="l00436"></a>00436 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;GeometryOut&gt;::type</a>,
-<a name="l00437"></a>00437 Geometry1,
-<a name="l00438"></a>00438 Geometry2,
-<a name="l00439"></a>00439 OutputIterator, GeometryOut
-<a name="l00440"></a>00440 &gt;,
-<a name="l00441"></a>00441 <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">dispatch::intersection</a>
-<a name="l00442"></a>00442 &lt;
-<a name="l00443"></a>00443 <span class="keyword">typename</span> tag&lt;Geometry1&gt;::type,
-<a name="l00444"></a>00444 <span class="keyword">typename</span> tag&lt;Geometry2&gt;::type,
-<a name="l00445"></a>00445 <span class="keyword">typename</span> tag&lt;GeometryOut&gt;::type,
-<a name="l00446"></a>00446 Geometry1,
-<a name="l00447"></a>00447 Geometry2,
-<a name="l00448"></a>00448 OutputIterator, GeometryOut
-<a name="l00449"></a>00449 &gt;
-<a name="l00450"></a>00450 &gt;::type::apply(geometry1, geometry2, out);
-<a name="l00451"></a>00451 }
-<a name="l00452"></a>00452
-<a name="l00453"></a>00453 } <span class="comment">// ggl</span>
-<a name="l00454"></a>00454
-<a name="l00455"></a>00455 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTION_HPP</span>
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00270"></a>00270 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="keyword">template</span>
+<a name="l00274"></a>00274 &lt;
+<a name="l00275"></a>00275 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Tag3,
+<a name="l00276"></a>00276 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00277"></a>00277 <span class="keyword">typename</span> OutputIterator,
+<a name="l00278"></a>00278 <span class="keyword">typename</span> GeometryOut
+<a name="l00279"></a>00279 &gt;
+<a name="l00280"></a>00280 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {};
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282
+<a name="l00283"></a>00283 <span class="keyword">template</span>
+<a name="l00284"></a>00284 &lt;
+<a name="l00285"></a>00285 <span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2,
+<a name="l00286"></a>00286 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00287"></a>00287 &gt;
+<a name="l00288"></a>00288 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00289"></a>00289 &lt;
+<a name="l00290"></a>00290 segment_tag, segment_tag, point_tag,
+<a name="l00291"></a>00291 Segment1, Segment2,
+<a name="l00292"></a>00292 OutputIterator, GeometryOut
+<a name="l00293"></a>00293 &gt;
+<a name="l00294"></a>00294 {
+<a name="l00295"></a>00295 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Segment1 <span class="keyword">const</span>&amp; segment1,
+<a name="l00296"></a>00296 Segment2 <span class="keyword">const</span>&amp; segment2, OutputIterator out)
+<a name="l00297"></a>00297 {
+<a name="l00298"></a>00298 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
+<a name="l00299"></a>00299
+<a name="l00300"></a>00300 <span class="comment">// Get the intersection point (or two points)</span>
+<a name="l00301"></a>00301 segment_intersection_points&lt;point_type&gt; is
+<a name="l00302"></a>00302 = strategy::intersection::relate_cartesian_segments
+<a name="l00303"></a>00303 &lt;
+<a name="l00304"></a>00304 policies::relate::segments_intersection_points
+<a name="l00305"></a>00305 &lt;
+<a name="l00306"></a>00306 Segment1,
+<a name="l00307"></a>00307 Segment2,
+<a name="l00308"></a>00308 segment_intersection_points&lt;point_type&gt;
+<a name="l00309"></a>00309 &gt;
+<a name="l00310"></a>00310 &gt;::relate(segment1, segment2);
+<a name="l00311"></a>00311 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; is.count; i++)
+<a name="l00312"></a>00312 {
+<a name="l00313"></a>00313 GeometryOut p;
+<a name="l00314"></a>00314 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">ggl::copy_coordinates</a>(is.intersections[i], p);
+<a name="l00315"></a>00315 *out = p;
+<a name="l00316"></a>00316 out++;
+<a name="l00317"></a>00317 }
+<a name="l00318"></a>00318 <span class="keywordflow">return</span> out;
+<a name="l00319"></a>00319 }
+<a name="l00320"></a>00320 };
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322
+<a name="l00323"></a>00323 <span class="keyword">template</span>
+<a name="l00324"></a>00324 &lt;
+<a name="l00325"></a>00325 <span class="keyword">typename</span> Linestring, <span class="keyword">typename</span> Box,
+<a name="l00326"></a>00326 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00327"></a>00327 &gt;
+<a name="l00328"></a>00328 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00329"></a>00329 &lt;
+<a name="l00330"></a>00330 linestring_tag, box_tag, linestring_tag,
+<a name="l00331"></a>00331 Linestring, Box,
+<a name="l00332"></a>00332 OutputIterator, GeometryOut
+<a name="l00333"></a>00333 &gt;
+<a name="l00334"></a>00334 {
+<a name="l00335"></a>00335 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Linestring <span class="keyword">const</span>&amp; linestring,
+<a name="l00336"></a>00336 Box <span class="keyword">const</span>&amp; box, OutputIterator out)
+<a name="l00337"></a>00337 {
+<a name="l00338"></a>00338 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type&lt;GeometryOut&gt;::type point_type;
+<a name="l00339"></a>00339 strategy::intersection::liang_barsky&lt;Box, point_type&gt; strategy;
+<a name="l00340"></a>00340 <span class="keywordflow">return</span> detail::intersection::clip_linestring_with_box&lt;GeometryOut&gt;(box, linestring, out, strategy);
+<a name="l00341"></a>00341 }
+<a name="l00342"></a>00342 };
+<a name="l00343"></a>00343
+<a name="l00344"></a>00344
+<a name="l00345"></a>00345 <span class="keyword">template</span>
+<a name="l00346"></a>00346 &lt;
+<a name="l00347"></a>00347 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
+<a name="l00348"></a>00348 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00349"></a>00349 &gt;
+<a name="l00350"></a>00350 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00351"></a>00351 &lt;
+<a name="l00352"></a>00352 polygon_tag, polygon_tag, polygon_tag,
+<a name="l00353"></a>00353 Polygon1, Polygon2,
+<a name="l00354"></a>00354 OutputIterator, GeometryOut
+<a name="l00355"></a>00355 &gt;
+<a name="l00356"></a>00356 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_polygon
+<a name="l00357"></a>00357 &lt;Polygon1, Polygon2, OutputIterator, GeometryOut&gt;
+<a name="l00358"></a>00358 {};
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360
+<a name="l00361"></a>00361
+<a name="l00362"></a>00362 <span class="keyword">template</span>
+<a name="l00363"></a>00363 &lt;
+<a name="l00364"></a>00364 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00365"></a>00365 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00366"></a>00366 &gt;
+<a name="l00367"></a>00367 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00368"></a>00368 &lt;
+<a name="l00369"></a>00369 polygon_tag, box_tag, polygon_tag,
+<a name="l00370"></a>00370 Polygon, Box,
+<a name="l00371"></a>00371 OutputIterator, GeometryOut
+<a name="l00372"></a>00372 &gt;
+<a name="l00373"></a>00373 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_box
+<a name="l00374"></a>00374 &lt;Polygon, Box, OutputIterator, GeometryOut&gt;
+<a name="l00375"></a>00375 {};
+<a name="l00376"></a>00376
+<a name="l00377"></a>00377
+<a name="l00378"></a>00378
+<a name="l00379"></a>00379 <span class="keyword">template</span>
+<a name="l00380"></a>00380 &lt;
+<a name="l00381"></a>00381 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2, <span class="keyword">typename</span> GeometryTag3,
+<a name="l00382"></a>00382 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00383"></a>00383 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00384"></a>00384 &gt;
+<a name="l00385"></a>00385 <span class="keyword">struct </span>intersection_reversed
+<a name="l00386"></a>00386 {
+<a name="l00387"></a>00387 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(G1 <span class="keyword">const</span>&amp; g1, G2 <span class="keyword">const</span>&amp; g2, OutputIterator out)
+<a name="l00388"></a>00388 {
+<a name="l00389"></a>00389 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00390"></a>00390 &lt;
+<a name="l00391"></a>00391 GeometryTag2, GeometryTag1, GeometryTag3,
+<a name="l00392"></a>00392 G2, G1,
+<a name="l00393"></a>00393 OutputIterator, GeometryOut
+<a name="l00394"></a>00394 &gt;::apply(g2, g1, out);
+<a name="l00395"></a>00395 }
+<a name="l00396"></a>00396 };
+<a name="l00397"></a>00397
+<a name="l00398"></a>00398
+<a name="l00399"></a>00399
+<a name="l00400"></a>00400 } <span class="comment">// namespace dispatch</span>
+<a name="l00401"></a>00401 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00402"></a>00402 <span class="preprocessor"></span>
+<a name="l00420"></a>00420 <span class="keyword">template</span>
+<a name="l00421"></a>00421 &lt;
+<a name="l00422"></a>00422 <span class="keyword">typename</span> GeometryOut,
+<a name="l00423"></a>00423 <span class="keyword">typename</span> Geometry1,
+<a name="l00424"></a>00424 <span class="keyword">typename</span> Geometry2,
+<a name="l00425"></a>00425 <span class="keyword">typename</span> OutputIterator
+<a name="l00426"></a>00426 &gt;
+<a name="l00427"></a><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">00427</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>(Geometry1 <span class="keyword">const</span>&amp; geometry1,
+<a name="l00428"></a>00428 Geometry2 <span class="keyword">const</span>&amp; geometry2,
+<a name="l00429"></a>00429 OutputIterator out)
+<a name="l00430"></a>00430 {
+<a name="l00431"></a>00431
+<a name="l00432"></a>00432 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00433"></a>00433 &lt;
+<a name="l00434"></a>00434 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch&lt;Geometry1, Geometry2&gt;::type::value</a>,
+<a name="l00435"></a>00435 dispatch::intersection_reversed
+<a name="l00436"></a>00436 &lt;
+<a name="l00437"></a>00437 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry1&gt;::type</a>,
+<a name="l00438"></a>00438 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry2&gt;::type</a>,
+<a name="l00439"></a>00439 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;GeometryOut&gt;::type</a>,
+<a name="l00440"></a>00440 Geometry1,
+<a name="l00441"></a>00441 Geometry2,
+<a name="l00442"></a>00442 OutputIterator, GeometryOut
+<a name="l00443"></a>00443 &gt;,
+<a name="l00444"></a>00444 <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">dispatch::intersection</a>
+<a name="l00445"></a>00445 &lt;
+<a name="l00446"></a>00446 <span class="keyword">typename</span> tag&lt;Geometry1&gt;::type,
+<a name="l00447"></a>00447 <span class="keyword">typename</span> tag&lt;Geometry2&gt;::type,
+<a name="l00448"></a>00448 <span class="keyword">typename</span> tag&lt;GeometryOut&gt;::type,
+<a name="l00449"></a>00449 Geometry1,
+<a name="l00450"></a>00450 Geometry2,
+<a name="l00451"></a>00451 OutputIterator, GeometryOut
+<a name="l00452"></a>00452 &gt;
+<a name="l00453"></a>00453 &gt;::type::apply(geometry1, geometry2, out);
+<a name="l00454"></a>00454 }
+<a name="l00455"></a>00455
+<a name="l00456"></a>00456 } <span class="comment">// ggl</span>
+<a name="l00457"></a>00457
+<a name="l00458"></a>00458 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTION_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -50,14 +50,14 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
 
 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename S &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#ge20f9cdc37ebded2be03934edb05c3dd">ggl::length</a> (G const &amp;geometry, S const &amp;strategy)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Strategy &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">ggl::length</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">ggl::length</a> (const G &amp;geometry)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">ggl::length</a> (Geometry const &amp;geometry)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate length of a geometry. <br></td></tr>
 </table>
 </div>
 <hr size="1">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -64,120 +64,135 @@
 <a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
 <a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
 <a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
-<a name="l00025"></a>00025
-<a name="l00039"></a>00039 <span class="keyword">namespace </span>ggl
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a> {
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00040"></a>00040 <span class="keyword">namespace </span>ggl
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043
 <a name="l00044"></a>00044
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00047"></a>00047 <span class="keyword">struct </span>segment_length
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(Segment <span class="keyword">const</span>&amp; segment, Strategy <span class="keyword">const</span>&amp; strategy)
-<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 <span class="comment">// BSG 10 APR 2009</span>
-<a name="l00052"></a>00052 <span class="comment">// TODO: the segment concept has to be such that it is easy to return a point from it.</span>
-<a name="l00053"></a>00053 <span class="comment">// Now it only accesses per coordinate</span>
-<a name="l00054"></a>00054 <span class="keywordflow">return</span> strategy(segment.first, segment.second);
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056 };
-<a name="l00057"></a>00057
-<a name="l00062"></a>00062 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00063"></a>00063 <span class="keyword">struct </span>range_length
-<a name="l00064"></a>00064 {
-<a name="l00065"></a>00065 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(Range <span class="keyword">const</span>&amp; range, Strategy <span class="keyword">const</span>&amp; strategy)
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;Range&gt;::type</a> coordinate_type;
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="comment">// Because result is square-rooted, for integer, the cast should</span>
-<a name="l00070"></a>00070 <span class="comment">// go to double and NOT to T</span>
-<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span>
-<a name="l00072"></a>00072 boost::mpl::if_c
-<a name="l00073"></a>00073 &lt;
-<a name="l00074"></a>00074 boost::is_integral&lt;coordinate_type&gt;::type::value,
-<a name="l00075"></a>00075 double,
-<a name="l00076"></a>00076 coordinate_type
-<a name="l00077"></a>00077 &gt;::type calculation_type;
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 calculation_type sum = 0.0;
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
-<a name="l00082"></a>00082 iterator_type it = boost::begin(range);
-<a name="l00083"></a>00083 <span class="keywordflow">if</span> (it != boost::end(range))
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 iterator_type previous = it++;
-<a name="l00086"></a>00086 <span class="keywordflow">while</span>(it != boost::end(range))
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="comment">// Add point-point distance using the return type belonging to strategy</span>
-<a name="l00089"></a>00089 sum += strategy(*previous, *it);
-<a name="l00090"></a>00090 previous = it++;
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092 }
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="keywordflow">return</span> sum;
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096 };
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 }} <span class="comment">// namespace detail::length</span>
-<a name="l00099"></a>00099 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00100"></a>00100 <span class="preprocessor"></span>
-<a name="l00101"></a>00101 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
-<a name="l00107"></a>00107 <span class="keyword">struct </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a> : detail::calculate_null&lt;double, G, S&gt;
+<a name="l00045"></a>00045 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> {
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00050"></a>00050 <span class="keyword">struct </span>segment_length
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> length_result&lt;Segment&gt;::type apply(
+<a name="l00053"></a>00053 Segment <span class="keyword">const</span>&amp; segment, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="comment">// BSG 10 APR 2009</span>
+<a name="l00056"></a>00056 <span class="comment">// TODO: the segment concept has to be such that it is easy to return a point from it.</span>
+<a name="l00057"></a>00057 <span class="comment">// Now it only accesses per coordinate</span>
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> strategy(segment.first, segment.second);
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00066"></a>00066 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00067"></a>00067 <span class="keyword">struct </span>range_length
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> length_result&lt;Range&gt;::type return_type;
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(
+<a name="l00072"></a>00072 Range <span class="keyword">const</span>&amp; range, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 return_type sum = return_type();
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;Range&gt;::type iterator_type;
+<a name="l00077"></a>00077 iterator_type it = boost::begin(range);
+<a name="l00078"></a>00078 <span class="keywordflow">if</span> (it != boost::end(range))
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 iterator_type previous = it++;
+<a name="l00081"></a>00081 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="comment">// Add point-point distance using the return type belonging to strategy</span>
+<a name="l00084"></a>00084 sum += strategy(*previous, *it);
+<a name="l00085"></a>00085 previous = it++;
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> sum;
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 }} <span class="comment">// namespace detail::length</span>
+<a name="l00094"></a>00094 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span>
+<a name="l00096"></a>00096 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00102"></a>00102 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> : detail::calculate_null
+<a name="l00103"></a>00103 &lt;
+<a name="l00104"></a>00104 typename length_result&lt;Geometry&gt;::type,
+<a name="l00105"></a>00105 Geometry,
+<a name="l00106"></a>00106 Strategy
+<a name="l00107"></a>00107 &gt;
 <a name="l00108"></a>00108 {};
 <a name="l00109"></a>00109
 <a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
-<a name="l00112"></a>00112 <span class="keyword">struct </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>&lt;linestring_tag, G, S&gt;
-<a name="l00113"></a>00113 : detail::<a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>::range_length&lt;G, S&gt;
+<a name="l00111"></a>00111 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00112"></a>00112 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>&lt;linestring_tag, Geometry, Strategy&gt;
+<a name="l00113"></a>00113 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length&lt;Geometry, Strategy&gt;
 <a name="l00114"></a>00114 {};
 <a name="l00115"></a>00115
 <a name="l00116"></a>00116
 <a name="l00117"></a>00117 <span class="comment">// RING: length is currently 0.0 but it might be argued that it is the "perimeter"</span>
-<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
-<a name="l00119"></a>00119 <span class="keyword">struct </span><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>&lt;segment_tag, G, S&gt; : detail::<a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>::segment_length&lt;G, S&gt;
-<a name="l00120"></a>00120 {};
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 } <span class="comment">// namespace dispatch</span>
-<a name="l00124"></a>00124 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00125"></a>00125 <span class="preprocessor"></span>
-<a name="l00138"></a>00138 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G&gt;
-<a name="l00139"></a><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa">00139</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(<span class="keyword">const</span> G&amp; geometry)
-<a name="l00140"></a>00140 {
-<a name="l00141"></a>00141 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;G&gt;::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00142"></a>00142 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point_type&gt;::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
-<a name="l00143"></a>00143 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
-<a name="l00144"></a>00144 &lt;
-<a name="l00145"></a>00145 cs_tag,
-<a name="l00146"></a>00146 cs_tag,
-<a name="l00147"></a>00147 point_type,
-<a name="l00148"></a>00148 point_type
-<a name="l00149"></a>00149 &gt;::type strategy_type;
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">dispatch::length</a>
-<a name="l00152"></a>00152 &lt;
-<a name="l00153"></a>00153 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
-<a name="l00154"></a>00154 G,
-<a name="l00155"></a>00155 strategy_type
-<a name="l00156"></a>00156 &gt;::apply(geometry, strategy_type());
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158
-<a name="l00173"></a>00173 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> S&gt;
-<a name="l00174"></a><a class="code" href="group__length.html#ge20f9cdc37ebded2be03934edb05c3dd">00174</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(G <span class="keyword">const</span>&amp; geometry, S <span class="keyword">const</span>&amp; strategy)
-<a name="l00175"></a>00175 {
-<a name="l00176"></a>00176 <span class="keywordflow">return</span> dispatch::length&lt;typename tag&lt;G&gt;::type, G, S&gt;::apply(geometry, strategy);
-<a name="l00177"></a>00177 }
-<a name="l00178"></a>00178
-<a name="l00179"></a>00179 } <span class="comment">// namespace ggl</span>
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="preprocessor">#endif // GGL_ALGORITHMS_LENGTH_HPP</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00121"></a>00121 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>&lt;segment_tag, Geometry, Strategy&gt;
+<a name="l00122"></a>00122 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::segment_length&lt;Geometry, Strategy&gt;
+<a name="l00123"></a>00123 {};
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 } <span class="comment">// namespace dispatch</span>
+<a name="l00127"></a>00127 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span>
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133
+<a name="l00146"></a>00146 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00147"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">00147</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
+<a name="l00148"></a>00148 Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry&gt;::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00151"></a>00151 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point_type&gt;::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00153"></a>00153 &lt;
+<a name="l00154"></a>00154 cs_tag,
+<a name="l00155"></a>00155 cs_tag,
+<a name="l00156"></a>00156 point_type,
+<a name="l00157"></a>00157 point_type
+<a name="l00158"></a>00158 &gt;::type strategy_type;
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
+<a name="l00161"></a>00161 &lt;
+<a name="l00162"></a>00162 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00163"></a>00163 Geometry,
+<a name="l00164"></a>00164 strategy_type
+<a name="l00165"></a>00165 &gt;::apply(geometry, strategy_type());
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167
+<a name="l00182"></a>00182 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00183"></a><a class="code" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">00183</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
+<a name="l00184"></a>00184 Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00185"></a>00185 {
+<a name="l00186"></a>00186 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
+<a name="l00187"></a>00187 &lt;
+<a name="l00188"></a>00188 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00189"></a>00189 Geometry,
+<a name="l00190"></a>00190 Strategy
+<a name="l00191"></a>00191 &gt;::apply(geometry, strategy);
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 } <span class="comment">// namespace ggl</span>
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="preprocessor">#endif // GGL_ALGORITHMS_LENGTH_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -51,13 +51,13 @@
 
 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry , typename Strategy &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g840995936a96075829b48a29a4a33b19">ggl::perimeter</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">ggl::perimeter</a> (Geometry const &amp;geometry, Strategy const &amp;strategy)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Geometry &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">ggl::perimeter</a> (Geometry const &amp;geometry)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">length_result&lt; Geometry &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">ggl::perimeter</a> (Geometry const &amp;geometry)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate perimeter of a geometry. <br></td></tr>
 </table>
 </div>
 <hr size="1">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -57,110 +57,97 @@
 <a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
 <a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
 <a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>&gt;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>&gt;</span>
 <a name="l00022"></a>00022
-<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
-<a name="l00029"></a>00029 {
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a> {
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> S&gt;
-<a name="l00035"></a>00035 <span class="keyword">struct </span>range_perimeter : detail::<a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>::range_length&lt;R, S&gt;
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 };
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="comment">// might be merged with "range_area" with policy to sum/subtract interior rings</span>
-<a name="l00040"></a>00040 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> S&gt;
-<a name="l00041"></a>00041 <span class="keyword">struct </span>polygon_perimeter
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(Polygon <span class="keyword">const</span>&amp; poly, S <span class="keyword">const</span>&amp; strategy)
-<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;Polygon&gt;::type ring_type;
-<a name="l00046"></a>00046 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00047"></a>00047 &lt;
-<a name="l00048"></a>00048 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
-<a name="l00049"></a>00049 &gt;::type iterator_type;
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keywordtype">double</span> sum = std::abs(range_perimeter&lt;ring_type, S&gt;::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy));
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00054"></a>00054 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); it++)
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 sum += std::abs(range_perimeter&lt;ring_type, S&gt;::apply(*it, strategy));
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058 <span class="keywordflow">return</span> sum;
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 }} <span class="comment">// namespace detail:;perimeter</span>
-<a name="l00063"></a>00063 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span>
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00068"></a>00068 {
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>&gt;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="comment">// Default perimeter is 0.0, specializations implement calculated values</span>
+<a name="l00041"></a>00041 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00042"></a>00042 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a> : detail::calculate_null
+<a name="l00043"></a>00043 &lt;
+<a name="l00044"></a>00044 typename length_result&lt;Geometry&gt;::type,
+<a name="l00045"></a>00045 Geometry,
+<a name="l00046"></a>00046 Strategy
+<a name="l00047"></a>00047 &gt;
+<a name="l00048"></a>00048 {};
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00051"></a>00051 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>&lt;ring_tag, Geometry, Strategy&gt;
+<a name="l00052"></a>00052 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length&lt;Geometry, Strategy&gt;
+<a name="l00053"></a>00053 {};
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>&lt;polygon_tag, Polygon, Strategy&gt;
+<a name="l00057"></a>00057 : detail::calculate_polygon_sum
+<a name="l00058"></a>00058 &lt;
+<a name="l00059"></a>00059 typename length_result&lt;Polygon&gt;::type,
+<a name="l00060"></a>00060 Polygon,
+<a name="l00061"></a>00061 Strategy,
+<a name="l00062"></a>00062 detail::length::range_length
+<a name="l00063"></a>00063 &lt;
+<a name="l00064"></a>00064 typename ring_type&lt;Polygon&gt;::type,
+<a name="l00065"></a>00065 Strategy
+<a name="l00066"></a>00066 &gt;
+<a name="l00067"></a>00067 &gt;
+<a name="l00068"></a>00068 {};
 <a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="comment">// Default perimeter is 0.0, specializations implement calculated values</span>
-<a name="l00071"></a>00071 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00072"></a>00072 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a> : detail::calculate_null&lt;double, Geometry, Strategy&gt;
-<a name="l00073"></a>00073 {};
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00076"></a>00076 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>&lt;ring_tag, Geometry, Strategy&gt;
-<a name="l00077"></a>00077 : detail::<a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>::range_perimeter&lt;Geometry, Strategy&gt;
-<a name="l00078"></a>00078 {};
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00081"></a>00081 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>&lt;polygon_tag, Geometry, Strategy&gt;
-<a name="l00082"></a>00082 : detail::<a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>::polygon_perimeter&lt;Geometry, Strategy&gt;
-<a name="l00083"></a>00083 {};
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 <span class="comment">// box,n-sphere: to be implemented</span>
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 } <span class="comment">// namespace dispatch</span>
-<a name="l00089"></a>00089 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00090"></a>00090 <span class="preprocessor"></span>
-<a name="l00091"></a>00091
-<a name="l00099"></a>00099 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry&gt;
-<a name="l00100"></a><a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba">00100</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>(Geometry <span class="keyword">const</span>&amp; geometry)
-<a name="l00101"></a>00101 {
-<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry&gt;::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point_type&gt;::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
-<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
-<a name="l00105"></a>00105 &lt;
-<a name="l00106"></a>00106 cs_tag,
-<a name="l00107"></a>00107 cs_tag,
-<a name="l00108"></a>00108 point_type,
-<a name="l00109"></a>00109 point_type
-<a name="l00110"></a>00110 &gt;::type strategy_type;
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
-<a name="l00113"></a>00113 &lt;
-<a name="l00114"></a>00114 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
-<a name="l00115"></a>00115 Geometry,
-<a name="l00116"></a>00116 strategy_type
-<a name="l00117"></a>00117 &gt;::apply(geometry, strategy_type());
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00128"></a>00128 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
-<a name="l00129"></a><a class="code" href="group__perimeter.html#g840995936a96075829b48a29a4a33b19">00129</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">perimeter</a>(Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g7d52bc6ace3c3dbc9bdac84e6f0076ba" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
-<a name="l00132"></a>00132 &lt;
-<a name="l00133"></a>00133 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
-<a name="l00134"></a>00134 Geometry,
-<a name="l00135"></a>00135 Strategy
-<a name="l00136"></a>00136 &gt;::apply(geometry, strategy);
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 } <span class="comment">// namespace ggl</span>
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="preprocessor">#endif // GGL_ALGORITHMS_PERIMETER_HPP</span>
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">// box,n-sphere: to be implemented</span>
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 } <span class="comment">// namespace dispatch</span>
+<a name="l00074"></a>00074 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span>
+<a name="l00076"></a>00076
+<a name="l00084"></a>00084 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00085"></a><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">00085</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
+<a name="l00086"></a>00086 Geometry <span class="keyword">const</span>&amp; geometry)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry&gt;::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00089"></a>00089 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point_type&gt;::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
+<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00091"></a>00091 &lt;
+<a name="l00092"></a>00092 cs_tag,
+<a name="l00093"></a>00093 cs_tag,
+<a name="l00094"></a>00094 point_type,
+<a name="l00095"></a>00095 point_type
+<a name="l00096"></a>00096 &gt;::type strategy_type;
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
+<a name="l00099"></a>00099 &lt;
+<a name="l00100"></a>00100 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00101"></a>00101 Geometry,
+<a name="l00102"></a>00102 strategy_type
+<a name="l00103"></a>00103 &gt;::apply(geometry, strategy_type());
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105
+<a name="l00114"></a>00114 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00115"></a><a class="code" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">00115</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result&lt;Geometry&gt;::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
+<a name="l00116"></a>00116 Geometry <span class="keyword">const</span>&amp; geometry, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
+<a name="l00119"></a>00119 &lt;
+<a name="l00120"></a>00120 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;Geometry&gt;::type</a>,
+<a name="l00121"></a>00121 Geometry,
+<a name="l00122"></a>00122 Strategy
+<a name="l00123"></a>00123 &gt;::apply(geometry, strategy);
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 } <span class="comment">// namespace ggl</span>
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="preprocessor">#endif // GGL_ALGORITHMS_PERIMETER_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -269,7 +269,7 @@
 <a name="l00255"></a>00255 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>&amp; range, Sections&amp; <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>,
 <a name="l00256"></a>00256 <span class="keywordtype">int</span> ring_index = -1, <span class="keywordtype">int</span> multi_index = -1)
 <a name="l00257"></a>00257 {
-<a name="l00258"></a>00258 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const Point&gt;</a> segment_type;
+<a name="l00258"></a>00258 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const Point&gt;</a> segment_type;
 <a name="l00259"></a>00259
 <a name="l00260"></a>00260 std::size_t <span class="keyword">const</span> n = boost::size(range);
 <a name="l00261"></a>00261 <span class="keywordflow">if</span> (n == 0)

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -291,7 +291,7 @@
 <a name="l00291"></a>00291 cs_tag,
 <a name="l00292"></a>00292 cs_tag,
 <a name="l00293"></a>00293 point_type,
-<a name="l00294"></a>00294 <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const point_type&gt;</a>
+<a name="l00294"></a>00294 <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment&lt;const point_type&gt;</a>
 <a name="l00295"></a>00295 &gt;::type ds_strategy_type;
 <a name="l00296"></a>00296
 <a name="l00297"></a>00297 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">strategy::simplify::douglas_peucker</a>
@@ -328,7 +328,7 @@
 <a name="l00359"></a>00359 cs_tag,
 <a name="l00360"></a>00360 cs_tag,
 <a name="l00361"></a>00361 point_type,
-<a name="l00362"></a>00362 <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const point_type&gt;</a>
+<a name="l00362"></a>00362 <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment&lt;const point_type&gt;</a>
 <a name="l00363"></a>00363 &gt;::type ds_strategy_type;
 <a name="l00364"></a>00364
 <a name="l00365"></a>00365 <span class="comment">//typedef typename ggl::as_range_type&lt;Geometry&gt;::type range_type;</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -45,9 +45,9 @@
 <div class="contents">
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
   <tr><td class="indexkey"><a class="el" href="classcore__dispatch_1_1dimension.html">dimension</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function defining return type of area function </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function utility returning either type itself, or outer ring </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td class="indexvalue">Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td class="indexvalue">Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1box__tag.html">ggl::box_tag</a></td><td class="indexvalue">Convenience 2D or 3D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> (mbr) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance&lt; T &gt;</a></td><td class="indexvalue">Encapsulate the results of distance calculation </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1cartesian__tag.html">ggl::cartesian_tag</a></td><td class="indexvalue">Tag indicating Cartesian coordinate system family (cartesian,epsg) </td></tr>
@@ -68,7 +68,7 @@
   <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon&lt; P &gt;</a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring&lt; R &gt;</a></td><td class="indexvalue">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; S &gt;</a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment&lt; S &gt;</a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy&lt; Strategy &gt;</a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system&lt; G &gt;</a></td><td class="indexvalue">Meta-function which defines coordinate system for any geometry </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type&lt; G &gt;</a></td><td class="indexvalue">Meta-function which defines coordinate type (int, float, double, etc) of any geometry </td></tr>
@@ -93,6 +93,7 @@
   <tr><td class="indexkey"><a class="el" href="structggl_1_1is__linear.html">ggl::is_linear&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function defining "true" for linear types (<a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>,ring), "false" for non-linear typse </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1is__multi.html">ggl::is_multi&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function defining "true" for multi geometries (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>, etc) </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1is__radian.html">ggl::is_radian&lt; CoordinateSystem &gt;</a></td><td class="indexvalue">Meta-function to verify if a coordinate system is <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1length__result.html">ggl::length_result&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function defining return type of length function </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1less.html">ggl::less&lt; P &gt;</a></td><td class="indexvalue">Less predicate for usage in e.g. std::map </td></tr>
   <tr><td class="indexkey"><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring&lt; P, V, ClockWise, A &gt;</a></td><td class="indexvalue">A <a class="el" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a> (linear <a class="el" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a>) is a closed line which should not be selfintersecting </td></tr>
   <tr><td class="indexkey"><a class="el" href="classggl_1_1linestring.html">ggl::linestring&lt; P, V, A &gt;</a></td><td class="indexvalue">A <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> (named so by OGC) is a collection (default a vector) of points </td></tr>
@@ -125,13 +126,14 @@
   <tr><td class="indexkey"><a class="el" href="structggl_1_1ring__type.html">ggl::ring_type&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function which defines ring type of (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> geometry </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1section.html">ggl::section&lt; Box, DimensionCount &gt;</a></td><td class="indexvalue">Structure containing <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> information </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1sections.html">ggl::sections&lt; Box, DimensionCount &gt;</a></td><td class="indexvalue">Structure containing a collection of <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1segment.html">ggl::segment&lt; P &gt;</a></td><td class="indexvalue">Class <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>: small containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td class="indexvalue">Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__identifier.html">ggl::segment_identifier</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points&lt; P &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator&lt; Base, Point &gt;</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a></td><td class="indexvalue">Convenience <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a></td><td class="indexvalue">Convenience <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type&lt; T1, T2 &gt;</a></td><td class="indexvalue">Utility selecting the most precise coordinate type of two geometries </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise&lt; T1, T2 &gt;</a></td><td class="indexvalue">Traits class to select, of two types, the most accurate type for calculations </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1single__tag.html">ggl::single_tag&lt; Tag &gt;</a></td><td class="indexvalue">Meta-function to get for a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of a multi-geometry the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of the corresponding single-geometry </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a></td><td class="indexvalue">Tag indicating Spherical coordinate system family (spherical,celestial,...) </td></tr>
   <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess&lt; P &gt;</a></td><td class="indexvalue">Area calculation by spherical excess </td></tr>
   <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles&lt; PS, CalculationType &gt;</a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points </td></tr>
@@ -139,11 +141,10 @@
   <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995&lt; PC, PS &gt;</a></td><td class="indexvalue">Centroid calculation </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian&lt; P, D &gt;</a></td><td class="indexvalue">Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for cartesian coordinates </td></tr>
   <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham&lt; P &gt;</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; P, S &gt;</a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; P, S &gt;</a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation </td></tr>
   <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td class="indexvalue">Distance calculation for spherical coordinates on a perfect sphere using <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">haversine</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras&lt; P1, P2, CalculationType &gt;</a></td><td class="indexvalue">Strategy for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html" title="Strategy for distance point to point: pythagoras.">pythagoras</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a></td><td class="indexvalue">Strategy for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a></td><td class="indexvalue">Strategy for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">ggl::strategy::envelope::combine_xy&lt; P, B &gt;::state</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">ggl::strategy::envelope::grow_ll&lt; P, B &gt;</a></td><td class="indexvalue"></td></tr>
@@ -154,7 +155,7 @@
   <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">ggl::strategy::intersection::liang_barsky&lt; B, P &gt;</a></td><td class="indexvalue">Strategy: line clipping algorithm after Liang Barsky </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">ggl::strategy::not_implemented</a></td><td class="indexvalue">Indicate compiler/library user that <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> is not implemented </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side&lt; P, PS &gt;</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td><td class="indexvalue">Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a></td><td class="indexvalue">Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">ggl::strategy::transform::copy_direct&lt; P &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to copy one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to another using assignment operator </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">ggl::strategy::transform::copy_per_coordinate&lt; P1, P2 &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to do copy a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, copying per coordinate </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">ggl::strategy::transform::degree_radian_vv&lt; P1, P2, F &gt;</a></td><td class="indexvalue">Transformation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to go from <a class="el" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a> to <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> and back </td></tr>
@@ -198,8 +199,8 @@
   <tr><td class="indexkey"><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator&lt; G &gt;</a></td><td class="indexvalue">Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1tag.html">ggl::tag&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function to get the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of any geometry type </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension&lt; Geometry &gt;</a></td><td class="indexvalue">Meta-function returning the topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> of a geometry </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; G &gt;</a></td><td class="indexvalue">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access&lt; Geometry, Dimension &gt;</a></td><td class="indexvalue">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">ggl::traits::access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point&lt; G, P &gt;</a></td><td class="indexvalue">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear&lt; G &gt;</a></td><td class="indexvalue">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system&lt; P &gt;</a></td><td class="indexvalue">Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection </td></tr>
@@ -210,7 +211,7 @@
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1dimension.html">ggl::traits::dimension&lt; P &gt;</a></td><td class="indexvalue">Traits class indicating the number of dimensions of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::dimension&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">ggl::traits::exterior_ring&lt; P &gt;</a></td><td class="indexvalue">Traits class defining <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> to <a class="el" href="structggl_1_1traits_1_1exterior__ring.html" title="Traits class defining access to exterior_ring of a polygon.">exterior_ring</a> of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; G, I, D &gt;</a></td><td class="indexvalue">Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access&lt; Geometry, Index, Dimension &gt;</a></td><td class="indexvalue">Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1interior__rings.html">ggl::traits::interior_rings&lt; G &gt;</a></td><td class="indexvalue">Traits class defining <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> to <a class="el" href="structggl_1_1traits_1_1interior__rings.html" title="Traits class defining access to interior_rings of a polygon.">interior_rings</a> of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type&lt; G &gt;</a></td><td class="indexvalue">Traits class indicating interior container type of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order&lt; G &gt;</a></td><td class="indexvalue">Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known </td></tr>
@@ -220,7 +221,7 @@
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type&lt; G &gt;</a></td><td class="indexvalue">Traits class to indicate ring-type of a polygon's exterior ring/interior rings </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag&lt; Geometry &gt;</a></td><td class="indexvalue">Traits class to attach a <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a> to a geometry </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::tag&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; G &gt;</a></td><td class="indexvalue">Traits class, optional, indicating that the std-library should be used </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std&lt; Geometry &gt;</a></td><td class="indexvalue">Traits class, optional, indicating that the std-library should be used </td></tr>
   <tr><td class="indexkey"><a class="el" href="structggl_1_1vertex__iterator.html">ggl::vertex_iterator&lt; Geometry, IsConst &gt;</a></td><td class="indexvalue">Meta-function which defines <a class="el" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a> type </td></tr>
   <tr><td class="indexkey"><a class="el" href="class_point_list.html">PointList</a></td><td class="indexvalue"></td></tr>
 </table>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__result_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__result_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/area_result.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1area__result.html">ggl::area_result&lt; Geometry &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Meta-function defining return type of area function. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__result_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__result_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/area_result.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_AREA_RESULT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_AREA_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="select__most__precise_8hpp.html">ggl/util/select_most_precise.hpp</a>&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl
+<a name="l00018"></a>00018 {
+<a name="l00019"></a>00019
+<a name="l00027"></a>00027 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Geometry&gt;
+<a name="l00028"></a><a class="code" href="structggl_1_1area__result.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1area__result.html" title="Meta-function defining return type of area function.">area_result</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a><a class="code" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">00030</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type&lt;Geometry&gt;::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__area.html" title="Traits class binding an area strategy to a coordinate system.">strategy_area</a>
+<a name="l00032"></a>00032 &lt;
+<a name="l00033"></a>00033 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag&lt;point_type&gt;::type</a>,
+<a name="l00034"></a>00034 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>
+<a name="l00035"></a><a class="code" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">00035</a> &gt;<a class="code" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">::type</a> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy_type</a>;
+<a name="l00036"></a>00036
+<a name="l00037"></a><a class="code" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">00037</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type <a class="code" href="structggl_1_1area__result.html#6f843780140b8fa0ac0a4a36c4c00d81">type</a>;
+<a name="l00038"></a>00038 };
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 } <span class="comment">// namespace ggl</span>
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="preprocessor">#endif // GGL_AREA_RESULT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/base_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -54,50 +54,51 @@
 <a name="l00012"></a>00012 <span class="preprocessor">#include &lt;boost/iterator.hpp&gt;</span>
 <a name="l00013"></a>00013 <span class="preprocessor">#include &lt;boost/iterator/iterator_adaptor.hpp&gt;</span>
 <a name="l00014"></a>00014 <span class="preprocessor">#include &lt;boost/iterator/iterator_categories.hpp&gt;</span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>iterators {
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Iterator&gt;
-<a name="l00020"></a>00020 <span class="keyword">struct </span>iterator_base :
-<a name="l00021"></a>00021 <span class="keyword">public</span> boost::iterator_adaptor
-<a name="l00022"></a>00022 &lt;
-<a name="l00023"></a>00023 T,
-<a name="l00024"></a>00024 Iterator,
-<a name="l00025"></a>00025 boost::use_default,
-<a name="l00026"></a>00026 typename boost::mpl::if_
-<a name="l00027"></a>00027 &lt;
-<a name="l00028"></a>00028 boost::is_convertible
-<a name="l00029"></a>00029 &lt;
-<a name="l00030"></a>00030 typename boost::iterator_traversal&lt;Iterator&gt;::type,
-<a name="l00031"></a>00031 boost::random_access_traversal_tag
-<a name="l00032"></a>00032 &gt;,
-<a name="l00033"></a>00033 boost::bidirectional_traversal_tag,
-<a name="l00034"></a>00034 boost::use_default
-<a name="l00035"></a>00035 &gt;::type
-<a name="l00036"></a>00036 &gt;
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 <span class="comment">// Define operator cast to Iterator to be able to write things like Iterator it = myit++</span>
-<a name="l00039"></a>00039 <span class="keyword">inline</span> operator Iterator()<span class="keyword"> const</span>
-<a name="l00040"></a>00040 <span class="keyword"> </span>{
-<a name="l00041"></a>00041 <span class="keywordflow">return</span> this-&gt;base();
-<a name="l00042"></a>00042 }
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="comment">/*inline bool operator==(const Iterator&amp; other) const</span>
-<a name="l00045"></a>00045 <span class="comment"> {</span>
-<a name="l00046"></a>00046 <span class="comment"> return this-&gt;base() == other;</span>
-<a name="l00047"></a>00047 <span class="comment"> }</span>
-<a name="l00048"></a>00048 <span class="comment"> inline bool operator!=(const Iterator&amp; other) const</span>
-<a name="l00049"></a>00049 <span class="comment"> {</span>
-<a name="l00050"></a>00050 <span class="comment"> return ! operator==(other);</span>
-<a name="l00051"></a>00051 <span class="comment"> }*/</span>
-<a name="l00052"></a>00052 };
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 }}} <span class="comment">// namespace ggl::detail::iterators</span>
-<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="preprocessor">#endif // GGL_ITERATORS_BASE_HPP</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>iterators {
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Iterator&gt;
+<a name="l00021"></a>00021 <span class="keyword">struct </span>iterator_base :
+<a name="l00022"></a>00022 <span class="keyword">public</span> boost::iterator_adaptor
+<a name="l00023"></a>00023 &lt;
+<a name="l00024"></a>00024 T,
+<a name="l00025"></a>00025 Iterator,
+<a name="l00026"></a>00026 boost::use_default,
+<a name="l00027"></a>00027 typename boost::mpl::if_
+<a name="l00028"></a>00028 &lt;
+<a name="l00029"></a>00029 boost::is_convertible
+<a name="l00030"></a>00030 &lt;
+<a name="l00031"></a>00031 typename boost::iterator_traversal&lt;Iterator&gt;::type,
+<a name="l00032"></a>00032 boost::random_access_traversal_tag
+<a name="l00033"></a>00033 &gt;,
+<a name="l00034"></a>00034 boost::bidirectional_traversal_tag,
+<a name="l00035"></a>00035 boost::use_default
+<a name="l00036"></a>00036 &gt;::type
+<a name="l00037"></a>00037 &gt;
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="comment">// Define operator cast to Iterator to be able to write things like Iterator it = myit++</span>
+<a name="l00040"></a>00040 <span class="keyword">inline</span> operator Iterator()<span class="keyword"> const</span>
+<a name="l00041"></a>00041 <span class="keyword"> </span>{
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> this-&gt;base();
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">/*inline bool operator==(const Iterator&amp; other) const</span>
+<a name="l00046"></a>00046 <span class="comment"> {</span>
+<a name="l00047"></a>00047 <span class="comment"> return this-&gt;base() == other;</span>
+<a name="l00048"></a>00048 <span class="comment"> }</span>
+<a name="l00049"></a>00049 <span class="comment"> inline bool operator!=(const Iterator&amp; other) const</span>
+<a name="l00050"></a>00050 <span class="comment"> {</span>
+<a name="l00051"></a>00051 <span class="comment"> return ! operator==(other);</span>
+<a name="l00052"></a>00052 <span class="comment"> }*/</span>
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 }}} <span class="comment">// namespace ggl::detail::iterators</span>
+<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#endif // GGL_ITERATORS_BASE_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -47,7 +47,7 @@
 <a href="box_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points. More...<br></td></tr>
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -60,31 +60,31 @@
 <a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
 <a name="l00019"></a>00019 {
 <a name="l00020"></a>00020
-<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P&gt;
+<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
 <a name="l00035"></a><a class="code" href="classggl_1_1box.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>
 <a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;P&gt;</a>) );
+<a name="l00037"></a>00037 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point&lt;Point&gt;</a>) );
 <a name="l00038"></a>00038
 <a name="l00039"></a>00039 <span class="keyword">public</span>:
 <a name="l00040"></a>00040
-<a name="l00041"></a><a class="code" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">00041</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a>() {}
+<a name="l00041"></a><a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">00041</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>() {}
 <a name="l00042"></a>00042
-<a name="l00046"></a><a class="code" href="classggl_1_1box.html#c7888e7869f90177bbc524467fa9e6c4">00046</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a>(P <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a>, P <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a>)
+<a name="l00046"></a><a class="code" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">00046</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>(Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>, Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>)
 <a name="l00047"></a>00047 {
 <a name="l00048"></a>00048 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(min_corner, m_min_corner);
 <a name="l00049"></a>00049 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(max_corner, m_max_corner);
 <a name="l00050"></a>00050 }
 <a name="l00051"></a>00051
-<a name="l00052"></a><a class="code" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">00052</a> <span class="keyword">inline</span> P <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_min_corner; }
-<a name="l00053"></a><a class="code" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">00053</a> <span class="keyword">inline</span> P <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_max_corner; }
+<a name="l00052"></a><a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">00052</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_min_corner; }
+<a name="l00053"></a><a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">00053</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_max_corner; }
 <a name="l00054"></a>00054
-<a name="l00055"></a><a class="code" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">00055</a> <span class="keyword">inline</span> P&amp; <a class="code" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner</a>() { <span class="keywordflow">return</span> m_min_corner; }
-<a name="l00056"></a><a class="code" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">00056</a> <span class="keyword">inline</span> P&amp; <a class="code" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner</a>() { <span class="keywordflow">return</span> m_max_corner; }
+<a name="l00055"></a><a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">00055</a> <span class="keyword">inline</span> Point&amp; <a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a>() { <span class="keywordflow">return</span> m_min_corner; }
+<a name="l00056"></a><a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">00056</a> <span class="keyword">inline</span> Point&amp; <a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a>() { <span class="keywordflow">return</span> m_max_corner; }
 <a name="l00057"></a>00057
 <a name="l00058"></a>00058 <span class="keyword">private</span>:
 <a name="l00059"></a>00059
-<a name="l00060"></a>00060 P m_min_corner;
-<a name="l00061"></a>00061 P m_max_corner;
+<a name="l00060"></a>00060 Point m_min_corner;
+<a name="l00061"></a>00061 Point m_max_corner;
 <a name="l00062"></a>00062 };
 <a name="l00063"></a>00063
 <a name="l00064"></a>00064
@@ -93,47 +93,56 @@
 <a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
 <a name="l00068"></a>00068 {
 <a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
-<a name="l00071"></a>00071 <span class="keyword">struct </span>tag&lt; box&lt;P&gt; &gt;
+<a name="l00070"></a>00070 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00071"></a>00071 <span class="keyword">struct </span>tag&lt;box&lt;Point&gt; &gt;
 <a name="l00072"></a>00072 {
 <a name="l00073"></a>00073 <span class="keyword">typedef</span> box_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
 <a name="l00074"></a>00074 };
 <a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P&gt;
-<a name="l00077"></a>00077 <span class="keyword">struct </span>point_type&lt;box&lt;P&gt; &gt;
+<a name="l00076"></a>00076 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>&gt;
+<a name="l00077"></a>00077 <span class="keyword">struct </span>point_type&lt;box&lt;Point&gt; &gt;
 <a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 <span class="keyword">typedef</span> P type;
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> Point type;
 <a name="l00080"></a>00080 };
 <a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D&gt;
-<a name="l00083"></a>00083 <span class="keyword">struct </span>indexed_access&lt;box&lt;P&gt;, C, D&gt;
+<a name="l00082"></a>00082 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00083"></a>00083 <span class="keyword">struct </span>indexed_access&lt;box&lt;Point&gt;, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, Dimension&gt;
 <a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <span class="keyword">typedef</span> box&lt;P&gt; box_type;
+<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;Point&gt;::type</a> coordinate_type;
 <a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;box_type&gt;::type</a> <span class="keyword">get</span>(box_type <span class="keyword">const</span>&amp; b)
+<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box&lt;Point&gt; <span class="keyword">const</span>&amp; b)
 <a name="l00088"></a>00088 {
-<a name="l00089"></a>00089 <span class="keywordflow">return</span> (C == <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a> ? ggl::get&lt;D&gt;(b.min_corner()) : ggl::get&lt;D&gt;(b.max_corner()));
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(b.min_corner());
 <a name="l00090"></a>00090 }
 <a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box_type&amp; b, <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;box_type&gt;::type</a> <span class="keyword">const</span>&amp; value)
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box&lt;Point&gt;&amp; b, coordinate_type <span class="keyword">const</span>&amp; value)
 <a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 <span class="keywordflow">if</span> (C == <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 ggl::set&lt;D&gt;(b.min_corner(), value);
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098 <span class="keywordflow">else</span>
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 ggl::set&lt;D&gt;(b.max_corner(), value);
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 };
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 } <span class="comment">// namespace traits</span>
-<a name="l00106"></a>00106 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00107"></a>00107 <span class="preprocessor"></span>
-<a name="l00108"></a>00108 } <span class="comment">// namespace ggl</span>
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="preprocessor">#endif // GGL_GEOMETRIES_BOX_HPP</span>
+<a name="l00094"></a>00094 ggl::set&lt;Dimension&gt;(b.min_corner(), value);
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096 };
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00099"></a>00099 <span class="keyword">struct </span>indexed_access&lt;box&lt;Point&gt;, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, Dimension&gt;
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type&lt;Point&gt;::type</a> coordinate_type;
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box&lt;Point&gt; <span class="keyword">const</span>&amp; b)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keywordflow">return</span> ggl::get&lt;Dimension&gt;(b.max_corner());
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box&lt;Point&gt;&amp; b, coordinate_type <span class="keyword">const</span>&amp; value)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 ggl::set&lt;Dimension&gt;(b.max_corner(), value);
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace traits</span>
+<a name="l00115"></a>00115 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span>
+<a name="l00117"></a>00117 } <span class="comment">// namespace ggl</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="preprocessor">#endif // GGL_GEOMETRIES_BOX_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -109,7 +109,7 @@
     t.close();
 
     std::cout &lt;&lt; <span class="stringliteral">"Triangle: "</span> &lt;&lt; <a name="a1"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(t) &lt;&lt; std::endl;
- std::cout &lt;&lt; <span class="stringliteral">"Area: "</span> &lt;&lt; <a name="a2"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">ggl::area</a>(t) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"Area: "</span> &lt;&lt; <a name="a2"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(t) &lt;&lt; std::endl;
 
     <a name="_a3"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy&lt;double&gt;</a> c;
     <a name="a4"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">ggl::centroid</a>(t, c);

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -75,7 +75,7 @@
 
 <span class="comment">// Specializations of area dispatch structure, implement algorithm</span>
 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> S&gt;
-<span class="keyword">struct </span><a name="a1"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>&lt;ring_tag, triangle&lt;P&gt;, <a name="a2"></a><a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, S&gt;
+<span class="keyword">struct </span><a name="a1"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>&lt;ring_tag, triangle&lt;P&gt;, <a name="a2"></a><a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, S&gt;
 {
     <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(triangle&lt;P&gt; <span class="keyword">const</span>&amp; t, S <span class="keyword">const</span>&amp;)
     {
@@ -96,7 +96,7 @@
     t[2] = boost::make_tuple(2.5, 2.5);
 
     std::cout &lt;&lt; <span class="stringliteral">"Triangle: "</span> &lt;&lt; <a name="a3"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(t) &lt;&lt; std::endl;
- std::cout &lt;&lt; <span class="stringliteral">"Area: "</span> &lt;&lt; <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">ggl::area</a>(t) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <span class="stringliteral">"Area: "</span> &lt;&lt; <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(t) &lt;&lt; std::endl;
 
     <span class="comment">//ggl::point_xy&lt;double&gt; c;</span>
     boost::tuple&lt;double, double&gt; c;

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c05__custom__point__pointer__example_8cpp-example.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -63,7 +63,7 @@
 <span class="comment">// Sample point, having x/y</span>
 <span class="keyword">struct </span>my_point
 {
- <span class="keywordtype">float</span> x,y;
+ <span class="keywordtype">double</span> x,y;
 };
 
 
@@ -81,23 +81,31 @@
 <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a name="_a0"></a><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;my_point*&gt; : boost::mpl::int_&lt;2&gt; {};
 
 <span class="keyword">template</span>&lt;&gt;
-<span class="keyword">struct </span>access&lt;my_point*&gt;
+<span class="keyword">struct </span>access&lt;my_point*, 0&gt;
 {
- <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
- <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keyword">const</span> my_point* p)
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(my_point <span class="keyword">const</span>* p)
     {
- <span class="keywordflow">return</span> I == 0 ? p-&gt;x : p-&gt;y;
- <span class="comment">// Or implement an accessor with specializations</span>
+ <span class="keywordflow">return</span> p-&gt;x;
     }
 
- <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> I&gt;
- <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(my_point* p, <span class="keyword">const</span> <span class="keywordtype">double</span>&amp; value)
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(my_point* p, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value)
     {
- <span class="comment">// Or (better) implement an accessor with specializations</span>
- <span class="keywordflow">if</span> (I == 0) p-&gt;x = value;
- <span class="keywordflow">else</span> <span class="keywordflow">if</span> (I == 1) p-&gt;y = value;
+ p-&gt;x = value;
+ }
+};
+
+<span class="keyword">template</span>&lt;&gt;
+<span class="keyword">struct </span>access&lt;my_point*, 1&gt;
+{
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(my_point <span class="keyword">const</span>* p)
+ {
+ <span class="keywordflow">return</span> p-&gt;y;
     }
 
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(my_point* p, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; value)
+ {
+ p-&gt;y = value;
+ }
 };
 
 }} <span class="comment">// namespace ggl::traits</span>
@@ -116,7 +124,7 @@
         myline.push_back(p);
     }
 
- std::cout &lt;&lt; <a name="a1"></a><a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">ggl::length</a>(myline) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a name="a1"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">ggl::length</a>(myline) &lt;&lt; std::endl;
 
     <a name="_a2"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box_2d</a> cb(<a name="_a3"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_2d</a>(1.5, 1.5), <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_2d</a>(4.5, 4.5));
 
@@ -131,7 +139,7 @@
                     myline, std::back_inserter(clipped), strategy);
 
 
- std::cout &lt;&lt; <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">ggl::length</a>(clipped.front()) &lt;&lt; std::endl;
+ std::cout &lt;&lt; <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">ggl::length</a>(clipped.front()) &lt;&lt; std::endl;
 
     <span class="comment">// free</span>
     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; myline.size(); i++)

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c__array_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -90,31 +90,31 @@
 <a name="l00048"></a>00048 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
 <a name="l00049"></a>00049 <span class="preprocessor"></span>
 <a name="l00050"></a>00050 <span class="comment">// Assign the point-tag, preventing arrays of points getting a point-tag</span>
-<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
-<a name="l00052"></a>00052 <span class="keyword">struct </span>tag&lt;T[N]&gt; : detail::c_array_tag&lt;boost::is_arithmetic&lt;T&gt;::value&gt; {};
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
-<a name="l00055"></a>00055 <span class="keyword">struct </span>coordinate_type&lt;T[N]&gt;
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <span class="keyword">typedef</span> T type;
-<a name="l00058"></a>00058 };
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
-<a name="l00061"></a>00061 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;T[N]&gt;: boost::mpl::int_&lt;N&gt; {};
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> N&gt;
-<a name="l00064"></a>00064 <span class="keyword">struct </span>access&lt;T[N]&gt;
-<a name="l00065"></a>00065 {
-<a name="l00066"></a>00066 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
-<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> T p[N])
+<a name="l00051"></a>00051 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00052"></a>00052 <span class="keyword">struct </span>tag&lt;CoordinateType[DimensionCount]&gt;
+<a name="l00053"></a>00053 : detail::c_array_tag&lt;boost::is_arithmetic&lt;CoordinateType&gt;::value&gt; {};
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00056"></a>00056 <span class="keyword">struct </span>coordinate_type&lt;CoordinateType[DimensionCount]&gt;
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> CoordinateType type;
+<a name="l00059"></a>00059 };
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount&gt;
+<a name="l00062"></a>00062 <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a>&lt;CoordinateType[DimensionCount]&gt;: boost::mpl::int_&lt;DimensionCount&gt; {};
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> DimensionCount, std::<span class="keywordtype">size_t</span> Dimension&gt;
+<a name="l00065"></a>00065 <span class="keyword">struct </span>access&lt;CoordinateType[DimensionCount], Dimension&gt;
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(<span class="keyword">const</span> CoordinateType p[DimensionCount])
 <a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="keywordflow">return</span> p[I];
+<a name="l00069"></a>00069 <span class="keywordflow">return</span> p[Dimension];
 <a name="l00070"></a>00070 }
 <a name="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="keyword">template</span> &lt;std::<span class="keywordtype">size_t</span> I&gt;
-<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(T p[N], <span class="keyword">const</span> T&amp; value)
+<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(CoordinateType p[DimensionCount],
+<a name="l00073"></a>00073 CoordinateType <span class="keyword">const</span>&amp; value)
 <a name="l00074"></a>00074 {
-<a name="l00075"></a>00075 p[I] = value;
+<a name="l00075"></a>00075 p[Dimension] = value;
 <a name="l00076"></a>00076 }
 <a name="l00077"></a>00077 };
 <a name="l00078"></a>00078

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__null_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -58,12 +58,12 @@
 <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
 <a name="l00017"></a>00017 {
 <a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReturnValue, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
+<a name="l00019"></a>00019 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReturnType, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy&gt;
 <a name="l00020"></a>00020 <span class="keyword">struct </span>calculate_null
 <a name="l00021"></a>00021 {
-<a name="l00022"></a>00022 <span class="keyword">static</span> <span class="keyword">inline</span> ReturnValue apply(Geometry <span class="keyword">const</span>&amp; , Strategy <span class="keyword">const</span>&amp;)
+<a name="l00022"></a>00022 <span class="keyword">static</span> <span class="keyword">inline</span> ReturnType apply(Geometry <span class="keyword">const</span>&amp; , Strategy <span class="keyword">const</span>&amp;)
 <a name="l00023"></a>00023 {
-<a name="l00024"></a>00024 <span class="keywordflow">return</span> ReturnValue();
+<a name="l00024"></a>00024 <span class="keywordflow">return</span> ReturnType();
 <a name="l00025"></a>00025 }
 <a name="l00026"></a>00026 };
 <a name="l00027"></a>00027

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/algorithms/detail/calculate_sum.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/calculate__sum_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/algorithms/detail/calculate_sum.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="keyword">namespace </span>ggl
+<a name="l00012"></a>00012 {
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00016"></a>00016 {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">template</span>
+<a name="l00020"></a>00020 &lt;
+<a name="l00021"></a>00021 <span class="keyword">typename</span> ReturnType,
+<a name="l00022"></a>00022 <span class="keyword">typename</span> Polygon,
+<a name="l00023"></a>00023 <span class="keyword">typename</span> Strategy,
+<a name="l00024"></a>00024 <span class="keyword">typename</span> Policy
+<a name="l00025"></a>00025 &gt;
+<a name="l00026"></a>00026 <span class="keyword">struct </span>calculate_polygon_sum
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">static</span> <span class="keyword">inline</span> ReturnType apply(Polygon <span class="keyword">const</span>&amp; poly, Strategy <span class="keyword">const</span>&amp; strategy)
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 ReturnType sum = Policy::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy);
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00033"></a>00033 &lt;
+<a name="l00034"></a>00034 <span class="keyword">typename</span> interior_type&lt;Polygon&gt;::type
+<a name="l00035"></a>00035 &gt;::type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00036"></a>00036 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00037"></a>00037 ++it)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 sum += Policy::apply(*it, strategy);
+<a name="l00040"></a>00040 }
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> sum;
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 };
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 } <span class="comment">// namespace detail</span>
+<a name="l00047"></a>00047 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span>
+<a name="l00049"></a>00049 } <span class="comment">// namespace ggl</span>
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="preprocessor">#endif // GGL_ALGORITHMS_DETAIL_CALCULATE_SUM_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -63,7 +63,7 @@
 <a name="l00021"></a>00021 {
 <a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
 <a name="l00023"></a>00023 {
-<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1area.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1area.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>
 <a name="l00025"></a>00025 {
 <a name="l00026"></a>00026
 <a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PS, <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>&gt;
@@ -97,7 +97,7 @@
 <a name="l00062"></a>00062 <span class="comment">// Currently only 2D areas are supported</span>
 <a name="l00063"></a>00063 assert_dimension&lt;PS, 2&gt;();
 <a name="l00064"></a>00064 }
-<a name="l00065"></a>00065 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
+<a name="l00065"></a>00065 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
 <a name="l00066"></a>00066 <span class="keyword"> </span>{
 <a name="l00067"></a>00067 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> result = sum;
 <a name="l00068"></a>00068 result *= 0.5;
@@ -108,7 +108,7 @@
 <a name="l00073"></a>00073 <span class="keyword">public</span> :
 <a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">00074</a> <span class="keyword">typedef</span> summation <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a>;
 <a name="l00075"></a>00075
-<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">00076</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a>(<a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a> <span class="keyword">const</span>&amp; s,
+<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">00076</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const PS&gt;</a> <span class="keyword">const</span>&amp; s,
 <a name="l00077"></a>00077 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a>&amp; state)<span class="keyword"> const</span>
 <a name="l00078"></a>00078 <span class="keyword"> </span>{
 <a name="l00079"></a>00079 <span class="comment">// SUM += x2 * y1 - x1 * y2;</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -109,7 +109,7 @@
 <a name="l00077"></a>00077
 <a name="l00078"></a>00078 <span class="keyword">public</span> :
 <a name="l00079"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">00079</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a>;
-<a name="l00080"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">00080</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00080"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">00080</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a>&amp; state)<span class="keyword"> const</span>
 <a name="l00081"></a>00081 <span class="keyword"> </span>{
 <a name="l00082"></a>00082 <span class="comment">/* Algorithm:</span>
 <a name="l00083"></a>00083 <span class="comment"> For each segment:</span>
@@ -129,9 +129,9 @@
 <a name="l00097"></a>00097 <span class="comment"> return POINT(0.5 * sum_msx / sum_mx, 0.5 * sum_msy / sum_my);</span>
 <a name="l00098"></a>00098 <span class="comment"> */</span>
 <a name="l00099"></a>00099
-<a name="l00100"></a>00100 PS diff = s.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>, sum = s.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>;
-<a name="l00101"></a>00101 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(diff, s.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>);
-<a name="l00102"></a>00102 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(sum, s.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>);
+<a name="l00100"></a>00100 PS diff = s.<a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>, sum = s.<a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>;
+<a name="l00101"></a>00101 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(diff, s.<a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>);
+<a name="l00102"></a>00102 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(sum, s.<a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>);
 <a name="l00103"></a>00103
 <a name="l00104"></a>00104 <span class="comment">// We might create an arithmatic operation for this.</span>
 <a name="l00105"></a>00105 PS m;
@@ -222,7 +222,7 @@
 <a name="l00246"></a>00246 <span class="keyword">public</span> :
 <a name="l00247"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">00247</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a>;
 <a name="l00248"></a>00248
-<a name="l00249"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">00249</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a>(<a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const SegmentPointType&gt;</a> <span class="keyword">const</span>&amp; s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00249"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">00249</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const SegmentPointType&gt;</a> <span class="keyword">const</span>&amp; s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a>&amp; state)<span class="keyword"> const</span>
 <a name="l00250"></a>00250 <span class="keyword"> </span>{
 <a name="l00251"></a>00251 <span class="comment">/* Algorithm:</span>
 <a name="l00252"></a>00252 <span class="comment"> For each segment:</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -52,7 +52,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html" title="Strategy for distance point to point: pythagoras.">pythagoras</a>. More...<br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment&lt; P, Segment, Strategy &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>. More...<br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>. More...<br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html">ggl::strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a></td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_segment_00_01_p_p_strategy_01_4_01_4.html">ggl::strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a></td></tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -75,7 +75,7 @@
 <a name="l00033"></a>00033 <span class="comment">// left of segment (&gt; 0), right of segment (&lt; 0), on segment (0)</span>
 <a name="l00034"></a>00034 <span class="comment">// In fact this is twice the area of a triangle</span>
 <a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;P, PS&gt;::type</a>
-<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">00036</a> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <span class="keyword">const</span> P&amp; p)
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">00036</a> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <span class="keyword">const</span> P&amp; p)
 <a name="l00037"></a>00037 {
 <a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type&lt;P, PS&gt;::type</a> T;
 <a name="l00039"></a>00039
@@ -90,7 +90,7 @@
 <a name="l00048"></a>00048
 <a name="l00049"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">00049</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<span class="keyword">const</span> P&amp; p0, <span class="keyword">const</span> P&amp; p1, <span class="keyword">const</span> P&amp; p2)
 <a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P&gt;::type</a> s = <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const P&gt;</a>(p0, p1), p2);
+<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type&lt;P&gt;::type</a> s = <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const P&gt;</a>(p0, p1), p2);
 <a name="l00052"></a>00052 <span class="keywordflow">return</span> s &gt; 0 ? 1 : s &lt; 0 ? -1 : 0;
 <a name="l00053"></a>00053 }
 <a name="l00054"></a>00054 };

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -85,7 +85,7 @@
 <a name="l00054"></a>00054
 <a name="l00055"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">00055</a> <span class="keyword">typedef</span> crossings <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a>;
 <a name="l00056"></a>00056
-<a name="l00057"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">00057</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a>&amp; state)<span class="keyword"> const</span>
+<a name="l00057"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">00057</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;const PS&gt;</a>&amp; s, <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a>&amp; state)<span class="keyword"> const</span>
 <a name="l00058"></a>00058 <span class="keyword"> </span>{
 <a name="l00059"></a>00059 <span class="comment">/* Algorithm:</span>
 <a name="l00060"></a>00060 <span class="comment"> if (</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -63,7 +63,7 @@
 <a name="l00021"></a><a class="code" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">00021</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring&lt;point_2d&gt;</a> <a class="code" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">ring_2d</a>;
 <a name="l00022"></a><a class="code" href="namespaceggl.html#9b5c5324bc541d70c4ba3451be8a3365">00022</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon&lt;point_2d&gt;</a> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_2d</a>;
 <a name="l00023"></a><a class="code" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">00023</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box&lt;point_2d&gt;</a> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a>;
-<a name="l00024"></a><a class="code" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">00024</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment&lt;point_2d&gt;</a> <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment_2d</a>;
+<a name="l00024"></a><a class="code" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">00024</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment&lt;point_2d&gt;</a> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment_2d</a>;
 <a name="l00025"></a><a class="code" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">00025</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere&lt;point_2d, double&gt;</a> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">circle</a>;
 <a name="l00026"></a>00026
 <a name="l00027"></a>00027 } <span class="comment">// namespace ggl</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -46,13 +46,13 @@
 <h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#
letter_W">W</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a></div><p>
 <table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
 <tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">geolib1995</a> (<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">rotate_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access.html">access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__collection__tag.html">geometry_collection_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">access&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__id.html">geometry_id</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1append__point.html">append_point</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nb
sp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">scale_transformer&lt; P1, P2, 2, 2 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1area__result.html">area_result</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a> (<a class="el" href="namespaceggl_1_1strategy_1_1convex__hull.html">ggl::strategy::convex_hull</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">scale_transformer&lt; P1, P2, 3, 3 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1as__range__type.html">as_ra
nge_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1section.html">section</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">geolib1995</a> (<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access.html">access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__collection__tag.html">geometry_collection_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">access&lt; ggl::detail::intersection::intersection_point&lt; P &gt;, Dimension &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__id.html">geometry_id</a> (<a class="el" href="namespaceggl.html">ggl</a
>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">scale_transformer&lt; P1, P2, 2, 2 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1append__point.html">append_point</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">scale_transformer&lt; P1, P2, 3, 3 &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1area__result.html">area_r
esult</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a> (<a class="el" href="namespaceggl_1_1strategy_1_1convex__hull.html">ggl::strategy::convex_hull</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1section.html">section</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1as__range__type.html">as_range_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1sections.html">sections</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div cla
ss="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1sections.html">sections</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">bashein_detmer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">haversine</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment.html">segment</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_box.html">Box</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>

-</td><td><a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1box.html">box</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1traits_1_1indexed__access.html">indexed_access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1box__tag.html">box_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1traits_1_1interior__rings.html">interior_rings</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__intersection__po
ints.html">segment_intersection_points</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1traits_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">by_triangles</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><
td><a class="el" href="structggl_1_1segment__tag.html">segment_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">inverse_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">segments_de9im</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cs_1_1cartesian.html">cartesian</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__linear.html">is_linear</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">segments_direction</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cartesian
__distance.html">cartesian_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__multi.html">is_multi</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">segments_intersection_points</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cartesian__tag.html">cartesian_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__radian.html">is_radian</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">segments_tupled</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el"
href="classggl_1_1centroid__exception.html">centroid_exception</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1less.html">less</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1clear.html">clear</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">liang_barsky</a> (<a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">ggl::strategy::intersection</a>)&nbsp;&nbsp;&nbsp;</td><td><a c
lass="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1linear__ring.html">linear_ring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">shifted&lt; degree &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a
class="el" href="classggl_1_1linestring.html">linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">shifted&lt; radian &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">Const
Nsphere</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1linestring__tag.html">linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1cs_1_1spherical.html">spherical</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ll_point_segment</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1spherical__tag.html">spherical_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_pol
ygon.html">ConstPolygon</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classggl_1_1segment.html">segment</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">bashein_detmer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">haversine</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_box.html">Box</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&
nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1box.html">box</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1traits_1_1indexed__access.html">indexed_access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__intersection__points.html">segment_intersection_points</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1box__tag.html">box_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1traits_1_1interior__rings.html">interior_rings</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__iterat
or.html">segment_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1traits_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1segment__tag.html">segment_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">by_triangles</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="
structggl_1_1policies_1_1relate_1_1segments__de9im.html">segments_de9im</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">inverse_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">segments_direction</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cs_1_1cartesian.html">cartesian</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__linear.html">is_linear</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">segments_intersection_points</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el"
 href="structggl_1_1cartesian__distance.html">cartesian_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__multi.html">is_multi</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">segments_tupled</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cartesian__tag.html">cartesian_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1is__radian.html">is_radian</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1centroid__exception.html">c
entroid_exception</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1length__result.html">length_result</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1clear.html">clear</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1less.html">less</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="
structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">shifted&lt; degree &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">liang_barsky</a> (<a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">ggl::strategy::intersection</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">shifted&lt; radian &gt;</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>
(<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1linear__ring.html">linear_ring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1linestring.html">linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1single__tag.html">single_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a> (<a class="el" href="namespaceggl_1_1c
oncept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1cs_1_1spherical.html">spherical</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1linestring__tag.html">linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1spherical__tag.html">spherical_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nb
sp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">grow_ll::state</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">map_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">combine_xy::state</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&n
bsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__area.html">strategy_area</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">coordinate_system</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__linestring__tag.html">multi_linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__centroid.html">strategy_centroid</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1coordinate__system.html">coordinate_system</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1
_1multi__point.html">multi_point</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__compare.html">strategy_compare</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordinate_system&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__point__tag.html">multi_point_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__convex__hull.html">strategy_convex_hull</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a> (<a class="el" hr
ef="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1multi__polygon__tag.html">multi_polygon_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__distance__segment.html">strategy_distance_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordina
te_type&lt; ggl::detail::intersection::intersection_point&lt; P &gt; &gt;</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a class="el" href="structggl_1_1strategy__envelope.html">strategy_envelope</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">copy_direct</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">not_implemented</a> (<a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__parse.html">strategy_parse</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">copy_per_coordinate</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1nsphere.html">nsphere</a> (<a
 class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__side.html">strategy_side</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1concept_1_1_nsphere.html">Nsphere</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__tag.html">strategy_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</a> (<a class="el" href="namespaceggl.ht
ml">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html">strategy_tag&lt; strategy::distance::pythagoras&lt; P1, P2 &gt; &gt;</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
 </td><td><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_segment_00_01_p_p_strategy_01_4_01_4.html">strategy_tag&lt; strategy::distance::xy_point_segment&lt; Point, Segment, PPStrategy &gt; &gt;</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
@@ -65,7 +65,7 @@
 </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">from_cartesian_3_to_spherical_2</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1replace__point__type.html">replace_point_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1vertex__iterator.html">vertex_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">from_cartesian_3_to_spherical_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_W
"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</div></td></tr></table>
 </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">from_spherical_2_to_cartesian_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">winding</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">from_spherical_3_to_cartesian_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1ring__tag.html">ring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&n
bsp;</td><td><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;X&nbsp;&nbsp;</div></td></tr></table>
 </td></tr><tr><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1traits_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">xy_point_segment</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cs_1_1geographic.html">geographic</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a> (<a class="el" href="namespaceggl_1_1strategy_1_1side.html">ggl::strategy::side</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1geographic__tag.html">geographic_tag</a> (<a class="el" href="namespaceggl.html">ggl</a
>)&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class
="qindex" href="#letter_W">W</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a></div><p>
+</td><td><a class="el" href="structggl_1_1traits_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">xy_point_segment</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1cs_1_1geographic.html">geographic</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a> (<a class="el" href="namespaceggl_1_1strategy_1_1side.html">ggl::strategy::side</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structggl_1_1geographic__tag.html">geographic_tag</a> (<a class="el" href="namespaceggl.html">ggl</a
>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">rotate_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_L">L</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp
;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a></div><p>
 </div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box-members.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -43,13 +43,13 @@
   </div>
 </div>
 <div class="contents">
-<h1>ggl::box&lt; P &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#c7888e7869f90177bbc524467fa9e6c4">box</a>(P const &amp;min_corner, P const &amp;max_corner)</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; P &gt;</a></td><td></td></tr>
+<h1>ggl::box&lt; Point &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">box</a>(Point const &amp;min_corner, Point const &amp;max_corner)</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>() const </td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a>()</td><td><a class="el" href="classggl_1_1box.html">ggl::box&lt; Point &gt;</a></td><td></td></tr>
 </table></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -45,7 +45,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>ggl::box&lt; P &gt; Class Template Reference</h1><!-- doxytag: class="ggl::box" -->Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points.
+<h1>ggl::box&lt; Point &gt; Class Template Reference</h1><!-- doxytag: class="ggl::box" -->Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points.
 <a href="#_details">More...</a>
 <p>
 
@@ -53,30 +53,30 @@
 <a href="classggl_1_1box-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#c7888e7869f90177bbc524467fa9e6c4">box</a> (P const &amp;min_corner, P const &amp;max_corner)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">box</a> (Point const &amp;min_corner, Point const &amp;max_corner)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor taking the minimum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and the maximum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor taking the minimum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and the maximum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">P &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">P const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">P &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">P const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Point const &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a> () const </td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename P&gt;<br>
- class ggl::box&lt; P &gt;</h3>
+<h3>template&lt;typename Point&gt;<br>
+ class ggl::box&lt; Point &gt;</h3>
 
 Class <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>: defines a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> made of two describing points.
 <p>
-Box is always described by a <a class="el" href="classggl_1_1box.html#437ec3e1792291376892b682d3406af9">min_corner()</a> and a <a class="el" href="classggl_1_1box.html#1c19e1959ea3c4e02dd80d4ee4fca2af">max_corner()</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. If another rectangle is used, use <a class="el" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a> or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>. <dl class="note" compact><dt><b>Note:</b></dt><dd>Boxes are for selections and for calculating the envelope of geometries. Not all algorithms are implemented for <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. Boxes are also used in Spatial Indexes. </dd></dl>
+Box is always described by a <a class="el" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner()</a> and a <a class="el" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner()</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. If another rectangle is used, use <a class="el" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a> or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>. <dl class="note" compact><dt><b>Note:</b></dt><dd>Boxes are for selections and for calculating the envelope of geometries. Not all algorithms are implemented for <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. Boxes are also used in Spatial Indexes. </dd></dl>
 <dl compact><dt><b>Template Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type. The <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> takes a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type as template parameter. The <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type can be any <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type. It can be 2D but can also be 3D or more dimensional. The <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> can also take a latlong <a class="el" href="classggl_1_1point.html" title="Basic point cl
ass, having coordinates defined in a neutral way.">point</a> type as template parameter. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Point</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type. The <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> takes a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type as template parameter. The <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type can be any <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type. It can be 2D but can also be 3D or more dimensional. The <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> can also take a latlong <a class="el" href="classggl_1_1point.html" title="Basic poin
t class, having coordinates defined in a neutral way.">point</a> type as template parameter. </td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Examples: </b></dt><dd>
@@ -85,14 +85,14 @@
 <a class="el" href="02__linestring__example_8cpp-example.html#_a6">02_linestring_example.cpp</a>, <a class="el" href="03__polygon__example_8cpp-example.html#_a4">03_polygon_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#_a10">07_graph_route_example.cpp</a>, and <a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#_a2">c05_custom_point_pointer_example.cpp</a>.</dl>
 <p>Definition at line <a class="el" href="box_8hpp_source.html#l00035">35</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="40a32b03ef937f268b28716cd3a19ff4"></a><!-- doxytag: member="ggl::box::box" ref="40a32b03ef937f268b28716cd3a19ff4" args="()" -->
+<a class="anchor" name="27556d65c45886911a450e707b8cd633"></a><!-- doxytag: member="ggl::box::box" ref="27556d65c45886911a450e707b8cd633" args="()" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename P&gt; </div>
+template&lt;typename Point&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::<a class="el" href="classggl_1_1box.html">box</a> </td>
+ <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &gt;::<a class="el" href="classggl_1_1box.html">box</a> </td>
           <td>(</td>
           <td class="paramname"> </td>
           <td>&nbsp;)&nbsp;</td>
@@ -108,22 +108,22 @@
 
 </div>
 </div><p>
-<a class="anchor" name="c7888e7869f90177bbc524467fa9e6c4"></a><!-- doxytag: member="ggl::box::box" ref="c7888e7869f90177bbc524467fa9e6c4" args="(P const &amp;min_corner, P const &amp;max_corner)" -->
+<a class="anchor" name="33c77af2d104a1faec5e98603d5ded17"></a><!-- doxytag: member="ggl::box::box" ref="33c77af2d104a1faec5e98603d5ded17" args="(Point const &amp;min_corner, Point const &amp;max_corner)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename P&gt; </div>
+template&lt;typename Point&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::<a class="el" href="classggl_1_1box.html">box</a> </td>
+ <td class="memname"><a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &gt;::<a class="el" href="classggl_1_1box.html">box</a> </td>
           <td>(</td>
- <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
           <td class="paramname"> <em>min_corner</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype">P const &amp;&nbsp;</td>
+ <td class="paramtype">Point const &amp;&nbsp;</td>
           <td class="paramname"> <em>max_corner</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -144,14 +144,14 @@
 </div>
 </div><p>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="47f607c06a2a5432eac75d8bd5cf4a61"></a><!-- doxytag: member="ggl::box::min_corner" ref="47f607c06a2a5432eac75d8bd5cf4a61" args="() const " -->
+<a class="anchor" name="ebc2dece8cd77a23f73ffae3a957f093"></a><!-- doxytag: member="ggl::box::min_corner" ref="ebc2dece8cd77a23f73ffae3a957f093" args="() const " -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename P&gt; </div>
+template&lt;typename Point&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">P const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::min_corner </td>
+ <td class="memname">Point const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &gt;::min_corner </td>
           <td>(</td>
           <td class="paramname"> </td>
           <td>&nbsp;)&nbsp;</td>
@@ -167,14 +167,14 @@
 
 </div>
 </div><p>
-<a class="anchor" name="ad3ec53ea62b0bfa3cb897cea62ea0f0"></a><!-- doxytag: member="ggl::box::max_corner" ref="ad3ec53ea62b0bfa3cb897cea62ea0f0" args="() const " -->
+<a class="anchor" name="63a9905a364d6b5bef828cc04b9970f7"></a><!-- doxytag: member="ggl::box::max_corner" ref="63a9905a364d6b5bef828cc04b9970f7" args="() const " -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename P&gt; </div>
+template&lt;typename Point&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">P const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::max_corner </td>
+ <td class="memname">Point const&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &gt;::max_corner </td>
           <td>(</td>
           <td class="paramname"> </td>
           <td>&nbsp;)&nbsp;</td>
@@ -190,14 +190,14 @@
 
 </div>
 </div><p>
-<a class="anchor" name="437ec3e1792291376892b682d3406af9"></a><!-- doxytag: member="ggl::box::min_corner" ref="437ec3e1792291376892b682d3406af9" args="()" -->
+<a class="anchor" name="9d91801e6fc859f6e4258800fd9e3c94"></a><!-- doxytag: member="ggl::box::min_corner" ref="9d91801e6fc859f6e4258800fd9e3c94" args="()" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename P&gt; </div>
+template&lt;typename Point&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">P&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::min_corner </td>
+ <td class="memname">Point&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &gt;::min_corner </td>
           <td>(</td>
           <td class="paramname"> </td>
           <td>&nbsp;)&nbsp;</td>
@@ -213,14 +213,14 @@
 
 </div>
 </div><p>
-<a class="anchor" name="1c19e1959ea3c4e02dd80d4ee4fca2af"></a><!-- doxytag: member="ggl::box::max_corner" ref="1c19e1959ea3c4e02dd80d4ee4fca2af" args="()" -->
+<a class="anchor" name="dc5baf1c27a841e04907d274fd9b6c39"></a><!-- doxytag: member="ggl::box::max_corner" ref="dc5baf1c27a841e04907d274fd9b6c39" args="()" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename P&gt; </div>
+template&lt;typename Point&gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">P&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; P &gt;::max_corner </td>
+ <td class="memname">Point&amp; <a class="el" href="classggl_1_1box.html">ggl::box</a>&lt; Point &gt;::max_corner </td>
           <td>(</td>
           <td class="paramname"> </td>
           <td>&nbsp;)&nbsp;</td>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -70,7 +70,7 @@
 Stream manipulator, streams geometry classes as <a class="el" href="dsv.html">DSV</a> streams <dl class="user" compact><dt><b>Example:</b></dt><dd>Small example showing how to use the dsv class <div class="fragment"><pre class="fragment"></pre></div> </dd></dl>
 <dl class="note" compact><dt><b>Note:</b></dt><dd>the template parameter must be specified. If that is inconvient, users might use streamdsv which streams geometries as manipulators, or the object generator make_dsv </dd></dl>
 
-<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00320">320</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00340">340</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="5bbe82845f3e20b44d2b75cc8faebf43"></a><!-- doxytag: member="ggl::dsv_manipulator::dsv_manipulator" ref="5bbe82845f3e20b44d2b75cc8faebf43" args="(Geometry const &amp;g, detail::dsv::dsv_settings const &amp;settings)" -->
 <div class="memitem">
@@ -101,7 +101,7 @@
 
 <p>
 
-<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00324">324</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00344">344</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
 
 </div>
 </div><p>
@@ -137,7 +137,7 @@
 
 <p>
 
-<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00331">331</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00351">351</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
 
 </div>
 </div><p>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1segment-members.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment&lt; ConstOrNonConstPoint &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a></td><td><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a></td><td><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1segment.html#186525605856fad4270057e760d6c020">segment</a>(point_type &amp;p1, point_type &amp;p2)</td><td><a class="el" href="classggl_1_1segment.html">ggl::segment&lt; ConstOrNonConstPoint &gt;</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1segment.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+&nbsp;&nbsp;
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1segment.html">segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::segment&lt; ConstOrNonConstPoint &gt; Class Template Reference</h1><!-- doxytag: class="ggl::segment" -->Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html#186525605856fad4270057e760d6c020">segment</a> (<a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;p1, <a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;p2)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;typename ConstOrNonConstPoint&gt;<br>
+ class ggl::segment&lt; ConstOrNonConstPoint &gt;</h3>
+
+Class <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>: small class containing two (templatized) <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> references.
+<p>
+From Wikipedia: In geometry, a line <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> is a part of a line that is bounded by two distinct end points, and contains every <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> on the line between its end points. <dl class="note" compact><dt><b>Note:</b></dt><dd>The structure is like std::pair, and can often be used interchangeable. Difference is that it refers to points, does not have points. <p>
+Like std::pair, points are public available. <p>
+type is const or non const, so ggl::segment&lt;P&gt; or ggl::segment&lt;const P&gt; <p>
+We cannot derive from std::pair&lt;P&amp;, P&amp;&gt; because of reference assignments. </dd></dl>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ConstOrNonConstPoint</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of the <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>, maybe a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or a const <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Examples: </b></dt><dd>
+
+<p>
+<a class="el" href="02__linestring__example_8cpp-example.html#_a11">02_linestring_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00037">37</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="186525605856fad4270057e760d6c020"></a><!-- doxytag: member="ggl::segment::segment" ref="186525605856fad4270057e760d6c020" args="(point_type &amp;p1, point_type &amp;p2)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ConstOrNonConstPoint&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1segment.html">ggl::segment</a>&lt; ConstOrNonConstPoint &gt;::<a class="el" href="classggl_1_1segment.html">segment</a> </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1point__type.html">point_type</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00055">55</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="76c7f18dd19699ccb7353137b8981c65"></a><!-- doxytag: member="ggl::segment::first" ref="76c7f18dd19699ccb7353137b8981c65" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ConstOrNonConstPoint&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1point__type.html">point_type</a>&amp; <a class="el" href="classggl_1_1segment.html">ggl::segment</a>&lt; ConstOrNonConstPoint &gt;::<a class="el" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00052">52</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="543b3806df8d74067157587323917a71"></a><!-- doxytag: member="ggl::segment::second" ref="543b3806df8d74067157587323917a71" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ConstOrNonConstPoint&gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1point__type.html">point_type</a>&amp; <a class="el" href="classggl_1_1segment.html">ggl::segment</a>&lt; ConstOrNonConstPoint &gt;::<a class="el" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment_8hpp_source.html#l00053">53</a> of file <a class="el" href="segment_8hpp_source.html">segment.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by&nbsp;Doxygen
+</small></address>
+</body>
+</html>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -63,7 +63,7 @@
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">by_spherical_excess</a> (double radius=1.0)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a> (<a class="el" href="structggl_1_1segment.html">segment</a>&lt; const P &gt; const &amp;<a class="el" href="structggl_1_1segment.html">segment</a>, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> &amp;state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a> (<a class="el" href="classggl_1_1segment.html">segment</a>&lt; const P &gt; const &amp;<a class="el" href="classggl_1_1segment.html">segment</a>, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> &amp;state) const </td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -160,7 +160,7 @@
         <tr>
           <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>&lt; P &gt;::operator() </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment</a>&lt; const P &gt; const &amp;&nbsp;</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment</a>&lt; const P &gt; const &amp;&nbsp;</td>
           <td class="paramname"> <em>segment</em>, </td>
         </tr>
         <tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -68,7 +68,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef summation&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a> (<a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; const &amp;s, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> &amp;state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a> (<a class="el" href="classggl_1_1segment.html">segment</a>&lt; const PS &gt; const &amp;s, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> &amp;state) const </td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -136,7 +136,7 @@
         <tr>
           <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>&lt; PS, CalculationType &gt;::operator() </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; const &amp;&nbsp;</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment</a>&lt; const PS &gt; const &amp;&nbsp;</td>
           <td class="paramname"> <em>s</em>, </td>
         </tr>
         <tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -59,7 +59,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef sums&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a> (<a class="el" href="structggl_1_1segment.html">segment</a>&lt; const SegmentPointType &gt; const &amp;s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> &amp;state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a> (<a class="el" href="classggl_1_1segment.html">segment</a>&lt; const SegmentPointType &gt; const &amp;s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> &amp;state) const </td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -122,7 +122,7 @@
         <tr>
           <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>&lt; CentroidPointType, SegmentPointType, CalculationType &gt;::operator() </td>
           <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment</a>&lt; const SegmentPointType &gt; const &amp;&nbsp;</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment</a>&lt; const SegmentPointType &gt; const &amp;&nbsp;</td>
           <td class="paramname"> <em>s</em>, </td>
         </tr>
         <tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -59,7 +59,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef sums&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a> (const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> &amp;state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a> (const <a class="el" href="classggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> &amp;state) const </td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -104,7 +104,7 @@
         <tr>
           <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995</a>&lt; PC, PS &gt;::operator() </td>
           <td>(</td>
- <td class="paramtype">const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
+ <td class="paramtype">const <a class="el" href="classggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
           <td class="paramname"> <em>s</em>, </td>
         </tr>
         <tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -48,7 +48,7 @@
 <h1>ggl::strategy::distance::cross_track&lt; P, S &gt; Class Template Reference<br>
 <small>
 [<a class="el" href="group__distance.html">distance calculation</a>]</small>
-</h1><!-- doxytag: class="ggl::strategy::distance::cross_track" -->Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation.
+</h1><!-- doxytag: class="ggl::strategy::distance::cross_track" -->Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation.
 <a href="#_details">More...</a>
 <p>
 
@@ -75,13 +75,13 @@
 <h3>template&lt;typename P, typename S&gt;<br>
  class ggl::strategy::distance::cross_track&lt; P, S &gt;</h3>
 
-Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation.
+Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation.
 <p>
-Class which calculates the <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to a <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>, using latlong points <dl class="see" compact><dt><b>See also:</b></dt><dd>http://williams.best.vwh.net/avform.htm </dd></dl>
+Class which calculates the <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to a <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>, using latlong points <dl class="see" compact><dt><b>See also:</b></dt><dd>http://williams.best.vwh.net/avform.htm </dd></dl>
 <dl compact><dt><b>Template Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td><a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td><a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> type </td></tr>
   </table>
 </dl>
 

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -45,12 +45,9 @@
 <div class="contents">
 <h1>ggl::strategy::distance::haversine&lt; P1, P2 &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">operator()</a>(P1 const &amp;p1, P2 const &amp;p2) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">operator()</a>(const P1 &amp;p1, const P2 &amp;p2) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine&lt; P1, P2 &gt;</a></td><td></td></tr>
 </table></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -60,15 +60,9 @@
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a></td></tr>
-
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a> (double r=1.0)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a> (double r=1.0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">operator()</a> (const P1 &amp;p1, const P2 &amp;p2) const </td></tr>
-
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">operator()</a> (P1 const &amp;p1, P2 const &amp;p2) const </td></tr>
 
 </table>
@@ -128,25 +122,6 @@
 
 </div>
 </div><p>
-<a class="anchor" name="8fd848a2bbc5857c70fa6bce5ffac5d3"></a><!-- doxytag: member="ggl::strategy::distance::haversine::return_type" ref="8fd848a2bbc5857c70fa6bce5ffac5d3" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename P1, typename P2 = P1&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>&lt; P1, P2 &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00052">52</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
-
-</div>
-</div><p>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="85ea8852c843a8950010229d0da4504a"></a><!-- doxytag: member="ggl::strategy::distance::haversine::haversine" ref="85ea8852c843a8950010229d0da4504a" args="(double r=1.0)" -->
 <div class="memitem">
@@ -172,30 +147,6 @@
 
 </div>
 </div><p>
-<a class="anchor" name="85ea8852c843a8950010229d0da4504a"></a><!-- doxytag: member="ggl::strategy::distance::haversine::haversine" ref="85ea8852c843a8950010229d0da4504a" args="(double r=1.0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename P1, typename P2 = P1&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>&lt; P1, P2 &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">haversine</a> </td>
- <td>(</td>
- <td class="paramtype">double&nbsp;</td>
- <td class="paramname"> <em>r</em> = <code>1.0</code> </td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00054">54</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
-
-</div>
-</div><p>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="4e6620683b788431de8942b0376af7af"></a><!-- doxytag: member="ggl::strategy::distance::haversine::operator()" ref="4e6620683b788431de8942b0376af7af" args="(P1 const &amp;p1, P2 const &amp;p2) const " -->
 <div class="memitem">
@@ -230,39 +181,6 @@
 
 </div>
 </div><p>
-<a class="anchor" name="cfc29c7f64c6136784283fab579fa970"></a><!-- doxytag: member="ggl::strategy::distance::haversine::operator()" ref="cfc29c7f64c6136784283fab579fa970" args="(const P1 &amp;p1, const P2 &amp;p2) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename P1, typename P2 = P1&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>&lt; P1, P2 &gt;::operator() </td>
- <td>(</td>
- <td class="paramtype">const P1 &amp;&nbsp;</td>
- <td class="paramname"> <em>p1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const P2 &amp;&nbsp;</td>
- <td class="paramname"> <em>p2</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00058">58</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
-
-</div>
-</div><p>
 </div>
 <hr size="1">
 <table width="100%">

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment-members.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::distance::ll_point_segment&lt; P, S &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">ll_point_segment</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">operator()</a>(P const &amp;p, S const &amp;s) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by&nbsp;Doxygen
-</small></address>
-</body>
-</html>

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1ll__point__segment.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,182 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a>::<a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ll_point_segment</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::distance::ll_point_segment&lt; P, S &gt; Class Template Reference<br>
-<small>
-[<a class="el" href="group__distance.html">distance calculation</a>]</small>
-</h1><!-- doxytag: class="ggl::strategy::distance::ll_point_segment" -->Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">ll_point_segment</a> (double r=1.0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">operator()</a> (P const &amp;p, S const &amp;s) const </td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename P, typename S&gt;<br>
- class ggl::strategy::distance::ll_point_segment&lt; P, S &gt;</h3>
-
-Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation.
-<p>
-Class which calculates the <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to a <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>, using latlong points <dl compact><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>P</em>&nbsp;</td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>S</em>&nbsp;</td><td><a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> type </td></tr>
- </table>
-</dl>
-
-<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00087">87</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="f98549b351e37683bc7999d389f170f0"></a><!-- doxytag: member="ggl::strategy::distance::ll_point_segment::return_type" ref="f98549b351e37683bc7999d389f170f0" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename P , typename S &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment</a>&lt; P, S &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00090">90</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="bd6a906cc460c9073ed833922392407c"></a><!-- doxytag: member="ggl::strategy::distance::ll_point_segment::ll_point_segment" ref="bd6a906cc460c9073ed833922392407c" args="(double r=1.0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename P , typename S &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment</a>&lt; P, S &gt;::<a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ll_point_segment</a> </td>
- <td>(</td>
- <td class="paramtype">double&nbsp;</td>
- <td class="paramname"> <em>r</em> = <code>1.0</code> </td>
- <td>&nbsp;)&nbsp;</td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00092">92</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="ded28ff8067850eab6befbf3cec37098"></a><!-- doxytag: member="ggl::strategy::distance::ll_point_segment::operator()" ref="ded28ff8067850eab6befbf3cec37098" args="(P const &amp;p, S const &amp;s) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename P , typename S &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">return_type</a> <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment</a>&lt; P, S &gt;::operator() </td>
- <td>(</td>
- <td class="paramtype">P const &amp;&nbsp;</td>
- <td class="paramname"> <em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">S const &amp;&nbsp;</td>
- <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00095">95</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by&nbsp;Doxygen
-</small></address>
-</body>
-</html>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1intersection_1_1liang__barsky.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -59,7 +59,7 @@
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , typename OutputIterator &gt; </td></tr>
 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">add</a> (L &amp;line_out, OutputIterator out) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">clip_segment</a> (B const &amp;b, <a class="el" href="structggl_1_1segment.html">segment_type</a> &amp;s, bool &amp;sp1_clipped, bool &amp;sp2_clipped) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">clip_segment</a> (B const &amp;b, <a class="el" href="classggl_1_1segment.html">segment_type</a> &amp;s, bool &amp;sp1_clipped, bool &amp;sp2_clipped) const </td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -99,7 +99,7 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
- <td class="paramtype"><a class="el" href="structggl_1_1segment.html">segment_type</a> &amp;&nbsp;</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment_type</a> &amp;&nbsp;</td>
           <td class="paramname"> <em>s</em>, </td>
         </tr>
         <tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -43,11 +43,9 @@
   </div>
 </div>
 <div class="contents">
-<h1>ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#45491352f7c455ea801781c8b7c812d9">apply</a>(Range const &amp;range, OutputIterator out, double max_distance)</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#d9c2f3932590f7088e2cdf032c41458b">distance_strategy_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">simplify</a>(const R &amp;range, O_IT out, double max_distance) const </td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</a></td><td></td></tr>
+<h1>ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt; Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">apply</a>(Range const &amp;range, OutputIterator out, double max_distance)</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">distance_strategy_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</a></td><td></td></tr>
 </table></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -45,7 +45,7 @@
   </div>
 </div>
 <div class="contents">
-<h1>ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt; Class Template Reference<br>
+<h1>ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt; Class Template Reference<br>
 <small>
 [<a class="el" href="group__simplify.html">simplification (generalization)</a>]</small>
 </h1><!-- doxytag: class="ggl::strategy::simplify::douglas_peucker" -->Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm.
@@ -56,22 +56,16 @@
 <a href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointDistanceStrategy&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#d9c2f3932590f7088e2cdf032c41458b">distance_strategy_type</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointDistanceStrategy&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">distance_strategy_type</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PSDS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">simplify</a> (const R &amp;range, O_IT out, double max_distance) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call simplification on an iterator pair. <br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Range , typename OutputIterator &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#45491352f7c455ea801781c8b7c812d9">apply</a> (Range const &amp;range, OutputIterator out, double max_distance)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static OutputIterator&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">apply</a> (Range const &amp;range, OutputIterator out, double max_distance)</td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename R, typename O_IT, typename PSDS&gt;<br>
- class ggl::strategy::simplify::douglas_peucker&lt; R, O_IT, PSDS &gt;</h3>
+<h3>template&lt;typename Point, typename PointDistanceStrategy&gt;<br>
+ class ggl::strategy::simplify::douglas_peucker&lt; Point, PointDistanceStrategy &gt;</h3>
 
 Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm.
 <p>
@@ -79,18 +73,6 @@
 <a href="http://www2.dcs.hull.ac.uk/CISRG/projects/Royal-Inst/demos/dp.html">http://www2.dcs.hull.ac.uk/CISRG/projects/Royal-Inst/demos/dp.html> </dd></dl>
 <dl compact><dt><b>Template Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>R</em>&nbsp;</td><td>boost range </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>O_IT</em>&nbsp;</td><td>output iterator </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>PSDS</em>&nbsp;</td><td>point-segment <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used </td></tr>
- </table>
-</dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>This <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> uses itself a point-segment-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> which can be specified </dd></dl>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend and Maarten, 1995/1996 <p>
-Barend, revised for Generic Geometry Library, 2008</dd></dl>
-The <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">douglas_peucker</a> <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> simplifies a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or vector of points using the well-known Douglas-Peucker algorithm. For the algorithm, see for example: <dl class="see" compact><dt><b>See also:</b></dt><dd>
http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm <p>
-http://www2.dcs.hull.ac.uk/CISRG/projects/Royal-Inst/demos/dp.html </dd></dl>
-<dl compact><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>Point</em>&nbsp;</td><td>the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>PointDistanceStrategy</em>&nbsp;</td><td>point-segment <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used </td></tr>
   </table>
@@ -99,35 +81,16 @@
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Barend and Maarten, 1995/1996 <p>
 Barend, revised for Generic Geometry Library, 2008 </dd></dl>
 
-<p>Definition at line <a class="el" href="agn__simplify_8hpp_source.html#l00079">79</a> of file <a class="el" href="agn__simplify_8hpp_source.html">agn_simplify.hpp</a>.</p>
+<p>Definition at line <a class="el" href="simplify__douglas__peucker_8hpp_source.html#l00086">86</a> of file <a class="el" href="simplify__douglas__peucker_8hpp_source.html">simplify_douglas_peucker.hpp</a>.</p>
 <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="8baa11b24fd260345ee451512c710350"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::distance_strategy_type" ref="8baa11b24fd260345ee451512c710350" args="" -->
+<a class="anchor" name="c1a18c53b124af6e3f49e61589eef15d"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::distance_strategy_type" ref="c1a18c53b124af6e3f49e61589eef15d" args="" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename R , typename O_IT , typename PSDS &gt; </div>
+template&lt;typename Point , typename PointDistanceStrategy &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">typedef PSDS <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; R, O_IT, PSDS &gt;::<a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="agn__simplify_8hpp_source.html#l00147">147</a> of file <a class="el" href="agn__simplify_8hpp_source.html">agn_simplify.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d9c2f3932590f7088e2cdf032c41458b"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::distance_strategy_type" ref="d9c2f3932590f7088e2cdf032c41458b" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename R , typename O_IT , typename PSDS &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef PointDistanceStrategy <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; R, O_IT, PSDS &gt;::<a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a> </td>
+ <td class="memname">typedef PointDistanceStrategy <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; Point, PointDistanceStrategy &gt;::<a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">distance_strategy_type</a> </td>
         </tr>
       </table>
 </div>
@@ -140,57 +103,16 @@
 </div>
 </div><p>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="dca55aa87f6d5b49df52585fa0f97add"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::simplify" ref="dca55aa87f6d5b49df52585fa0f97add" args="(const R &amp;range, O_IT out, double max_distance) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename R , typename O_IT , typename PSDS &gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; R, O_IT, PSDS &gt;::simplify </td>
- <td>(</td>
- <td class="paramtype">const R &amp;&nbsp;</td>
- <td class="paramname"> <em>range</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">O_IT&nbsp;</td>
- <td class="paramname"> <em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double&nbsp;</td>
- <td class="paramname"> <em>max_distance</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Call simplification on an iterator pair.
-<p>
-
-<p>Definition at line <a class="el" href="agn__simplify_8hpp_source.html#l00152">152</a> of file <a class="el" href="agn__simplify_8hpp_source.html">agn_simplify.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="45491352f7c455ea801781c8b7c812d9"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::apply" ref="45491352f7c455ea801781c8b7c812d9" args="(Range const &amp;range, OutputIterator out, double max_distance)" -->
+<a class="anchor" name="8ec9dbc06a92fb822cddba949e067ae2"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::apply" ref="8ec9dbc06a92fb822cddba949e067ae2" args="(Range const &amp;range, OutputIterator out, double max_distance)" -->
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename R , typename O_IT , typename PSDS &gt; </div>
+template&lt;typename Point , typename PointDistanceStrategy &gt; </div>
 <div class="memtemplate">
 template&lt;typename Range , typename OutputIterator &gt; </div>
       <table class="memname">
         <tr>
- <td class="memname">static OutputIterator <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; R, O_IT, PSDS &gt;::apply </td>
+ <td class="memname">static OutputIterator <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>&lt; Point, PointDistanceStrategy &gt;::apply </td>
           <td>(</td>
           <td class="paramtype">Range const &amp;&nbsp;</td>
           <td class="paramname"> <em>range</em>, </td>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -59,7 +59,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef windings&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a></td></tr>
 
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a> (const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> &amp;state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a> (const <a class="el" href="classggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;s, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> &amp;state) const </td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -111,7 +111,7 @@
         <tr>
           <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>&lt; P, PS &gt;::operator() </td>
           <td>(</td>
- <td class="paramtype">const <a class="el" href="structggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
+ <td class="paramtype">const <a class="el" href="classggl_1_1segment.html">segment</a>&lt; const PS &gt; &amp;&nbsp;</td>
           <td class="paramname"> <em>s</em>, </td>
         </tr>
         <tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -58,7 +58,7 @@
 <a name="l00016"></a>00016 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
 <a name="l00017"></a>00017
 <a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>&gt;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="algorithms_2for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>&gt;</span>
 <a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>&gt;</span>
 <a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
 <a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>&gt;</span>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -76,7 +76,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience (linear) ring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tag indicating Spherical coordinate system family (spherical,celestial,...). More...<br></td></tr>

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/de9im_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -184,7 +184,7 @@
 <a name="l00142"></a>00142 <span class="keyword">true</span>, opposite);
 <a name="l00143"></a>00143 }
 <a name="l00144"></a>00144
-<a name="l00145"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">00145</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">degenerate</a>(S1 <span class="keyword">const</span>&amp; <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>, <span class="keywordtype">bool</span> a_degenerate)
+<a name="l00145"></a><a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">00145</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1de9im__segment.html">return_type</a> <a class="code" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">degenerate</a>(S1 <span class="keyword">const</span>&amp; <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>, <span class="keywordtype">bool</span> a_degenerate)
 <a name="l00146"></a>00146 {
 <a name="l00147"></a>00147 <span class="keywordflow">return</span> a_degenerate
 <a name="l00148"></a>00148 ? <a class="code" href="structggl_1_1de9im__segment.html">de9im_segment</a>(0,0,

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -100,7 +100,8 @@
     <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::access&lt;P, D&gt;::get</a>(p);
 }
 </pre></div><p>
-This enables us to call get&lt;0&gt;(a), for any point having the traits::access specialization, as shown in the distance algorithm at the start of this paragraph. So we wanted to enable classes with methods like .x(), and they are supported as long as there is a specialization of the access struct with a static get function returning .x() for dimension 0, and similar for 1 and .y(). Alternatively we can have, in the traits class, the dimension as a template parameter in a member template function:<p>
+This enables us to call get&lt;0&gt;(a), for any point having the traits::access specialization, as shown in the distance algorithm at the start of this paragraph. So we wanted to enable classes with methods like .x(), and they are supported as long as there is a specialization of the access struct with a static get function returning .x() for dimension 0, and similar for 1 and .y().<p>
+Alternatively we could implement, in the traits class, the dimension as a template parameter in a member template function:<p>
 <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;&gt;
 <span class="keyword">struct </span>access&lt;mypoint&gt;
 {
@@ -111,7 +112,7 @@
     <span class="comment">// per dimension</span>
 };
 </pre></div><p>
-This alternative gives in the end the same functionality, either using an if-clause (slower), or adding another level of indirection. <b>This last version is used in GGL</b><h2><a class="anchor" name="par4">
+This alternative gives in the end the same functionality, either using an if-clause (slower), or adding another level of indirection.<h2><a class="anchor" name="par4">
 Dimension agnosticism</a></h2>
 Now we can calculate the distance between points in 2D, points of any structure or class. However, we wanted to have 3D as well. So we have to make it dimension agnostic. This complicates our distance function. We can use a for-loop to walk through dimensions, but for loops have another performance than the addition which was there originally. However, we can make more usage of templates and make the distance algorithm as following, more complex but attractive for template fans: <div class="fragment"><pre class="fragment"><span class="keyword">template</span> &lt;<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keywordtype">int</span> D&gt;
 <span class="keyword">struct </span>pythagoras

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -130,7 +130,7 @@
 <a name="l00096"></a>00096 Strategy s;
 <a name="l00097"></a>00097 ptype *p1;
 <a name="l00098"></a>00098 ptype *p2;
-<a name="l00099"></a>00099 rtype r = s(*p1, <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment&lt;const ptype&gt;</a>(*p1, *p2));
+<a name="l00099"></a>00099 rtype r = s(*p1, <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment&lt;const ptype&gt;</a>(*p1, *p2));
 <a name="l00100"></a>00100 boost::ignore_unused_variable_warning(r);
 <a name="l00101"></a>00101 }
 <a name="l00102"></a>00102 };

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -49,7 +49,7 @@
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track&lt; P, S &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation. More...<br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation. More...<br></td></tr>
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
 

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__result_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -48,8 +48,8 @@
 <a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
 <a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
 <a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRY_STRATEGIES_DISTANCE_RESULT_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_STRATEGIES_DISTANCE_RESULT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_DISTANCE_RESULT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_DISTANCE_RESULT_HPP</span>
 <a name="l00011"></a>00011 <span class="preprocessor"></span>
 <a name="l00012"></a>00012 <span class="preprocessor">#include &lt;utility&gt;</span>
 <a name="l00013"></a>00013 <span class="preprocessor">#include &lt;cmath&gt;</span>
@@ -57,218 +57,230 @@
 <a name="l00015"></a>00015 <span class="preprocessor">#include &lt;iostream&gt;</span>
 <a name="l00016"></a>00016
 <a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/mpl/if.hpp&gt;</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl {
-<a name="l00021"></a>00021
-<a name="l00034"></a>00034 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T = <span class="keywordtype">double</span>&gt;
-<a name="l00035"></a><a class="code" href="structggl_1_1cartesian__distance.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance</a>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keyword">private</span> :
-<a name="l00038"></a>00038 T m_squared_distance;
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="comment">// Because result is square-rooted, for integer, the cast should</span>
-<a name="l00041"></a>00041 <span class="comment">// go to double and NOT to T</span>
-<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span>
-<a name="l00043"></a>00043 boost::mpl::if_c
-<a name="l00044"></a>00044 &lt;
-<a name="l00045"></a>00045 boost::is_integral&lt;T&gt;::type::value,
-<a name="l00046"></a>00046 double,
-<a name="l00047"></a>00047 T
-<a name="l00048"></a>00048 &gt;::type cast_type;
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keyword">public</span> :
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/numeric/conversion/cast.hpp&gt;</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;boost/type_traits.hpp&gt;</span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="select__most__precise_8hpp.html">ggl/util/select_most_precise.hpp</a>&gt;</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl {
+<a name="l00025"></a>00025
+<a name="l00038"></a>00038 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T = <span class="keywordtype">double</span>&gt;
+<a name="l00039"></a><a class="code" href="structggl_1_1cartesian__distance.html">00039</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance</a>
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">private</span> :
+<a name="l00042"></a>00042 T m_squared_distance;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">// Because result is square-rooted, for integer, the cast should</span>
+<a name="l00045"></a>00045 <span class="comment">// go to double and NOT to T</span>
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00047"></a>00047 boost::mpl::if_c
+<a name="l00048"></a>00048 &lt;
+<a name="l00049"></a>00049 boost::is_integral&lt;T&gt;::type::value,
+<a name="l00050"></a>00050 double,
+<a name="l00051"></a>00051 T
+<a name="l00052"></a>00052 &gt;::type cast_type;
+<a name="l00053"></a>00053
 <a name="l00054"></a>00054
 <a name="l00055"></a>00055
-<a name="l00057"></a><a class="code" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">00057</a> <span class="keyword">explicit</span> <a class="code" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68" title="Constructor with a value.">cartesian_distance</a>(T <span class="keyword">const</span>&amp; v) : m_squared_distance(v) {}
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">public</span> :
 <a name="l00058"></a>00058
-<a name="l00061"></a><a class="code" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">00061</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">operator cast_type</a>()<span class="keyword"> const</span>
-<a name="l00062"></a>00062 <span class="keyword"> </span>{
-<a name="l00063"></a>00063 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span> <span class="keywordflow">return</span> boost::sqrt(m_squared_distance);
-<a name="l00065"></a>00065 <span class="preprocessor">#else</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span> <span class="keywordflow">return</span> std::sqrt((<span class="keywordtype">long</span> <span class="keywordtype">double</span>)m_squared_distance);
-<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span> }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="comment">// Compare squared values</span>
-<a name="l00071"></a><a class="code" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">00071</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(cartesian_distance&lt;T&gt; <span class="keyword">const</span>&amp; other) <span class="keyword">const</span>
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> this-&gt;m_squared_distance &lt; other.m_squared_distance;
-<a name="l00074"></a>00074 }
-<a name="l00075"></a><a class="code" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">00075</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">operator&gt;</a>(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
-<a name="l00076"></a>00076 <span class="keyword"> </span>{
-<a name="l00077"></a>00077 <span class="keywordflow">return</span> this-&gt;m_squared_distance &gt; other.m_squared_distance;
-<a name="l00078"></a>00078 }
-<a name="l00079"></a><a class="code" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">00079</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">operator==</a>(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
-<a name="l00080"></a>00080 <span class="keyword"> </span>{
-<a name="l00081"></a>00081 <span class="keywordflow">return</span> this-&gt;m_squared_distance == other.m_squared_distance;
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="comment">// Compare just with a corresponding POD value</span>
-<a name="l00085"></a>00085 <span class="comment">// Note: this is NOT possible because of the cast to double,</span>
-<a name="l00086"></a>00086 <span class="comment">// it makes it for the compiler ambiguous which to take</span>
-<a name="l00087"></a>00087 <span class="comment">/*</span>
-<a name="l00088"></a>00088 <span class="comment"> inline bool operator&lt;(T const&amp; value) const</span>
-<a name="l00089"></a>00089 <span class="comment"> {</span>
-<a name="l00090"></a>00090 <span class="comment"> return this-&gt;m_squared_distance &lt; (value * value);</span>
-<a name="l00091"></a>00091 <span class="comment"> }</span>
-<a name="l00092"></a>00092 <span class="comment"> inline bool operator&gt;(T const&amp; value) const</span>
-<a name="l00093"></a>00093 <span class="comment"> {</span>
-<a name="l00094"></a>00094 <span class="comment"> return this-&gt;m_squared_distance &gt; (value * value);</span>
-<a name="l00095"></a>00095 <span class="comment"> }</span>
-<a name="l00096"></a>00096 <span class="comment"> inline bool operator==(T const&amp; value) const</span>
-<a name="l00097"></a>00097 <span class="comment"> {</span>
-<a name="l00098"></a>00098 <span class="comment"> return this-&gt;m_squared_distance == (value * value);</span>
-<a name="l00099"></a>00099 <span class="comment"> }</span>
-<a name="l00100"></a>00100 <span class="comment"> */</span>
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="comment">// Utility method to compare without SQRT, but not with method above because for epsilon that</span>
-<a name="l00103"></a>00103 <span class="comment">// makes no sense...</span>
-<a name="l00104"></a><a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">00104</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>()<span class="keyword"> const</span>
-<a name="l00105"></a>00105 <span class="keyword"> </span>{
-<a name="l00106"></a>00106 <span class="keywordflow">return</span> m_squared_distance &lt;= std::numeric_limits&lt;T&gt;::epsilon();
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108
-<a name="l00110"></a><a class="code" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">00110</a> <span class="keyword">inline</span> T <a class="code" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b" title="The &amp;quot;squared_value&amp;quot; method returns the internal squared value.">squared_value</a>()<span class="keyword"> const</span>
-<a name="l00111"></a>00111 <span class="keyword"> </span>{
-<a name="l00112"></a>00112 <span class="keywordflow">return</span> m_squared_distance;
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00116"></a>00116 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CH, <span class="keyword">typename</span> TR&gt;
-<a name="l00117"></a><a class="code" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">00117</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;CH, TR&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CH, TR&gt;&amp; os,
-<a name="l00118"></a>00118 <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; d)
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 <span class="comment">// Avoid "ambiguous function call" for MSVC</span>
-<a name="l00121"></a>00121 cast_type <span class="keyword">const</span> sq = d.m_squared_distance;
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 os &lt;&lt;
-<a name="l00124"></a>00124 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
-<a name="l00125"></a>00125 <span class="preprocessor"></span> boost::sqrt(sq);
-<a name="l00126"></a>00126 <span class="preprocessor">#else</span>
-<a name="l00127"></a>00127 <span class="preprocessor"></span> std::sqrt(sq);
-<a name="l00128"></a>00128 <span class="preprocessor">#endif</span>
-<a name="l00129"></a>00129 <span class="preprocessor"></span> <span class="keywordflow">return</span> os;
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 };
-<a name="l00133"></a>00133
+<a name="l00059"></a>00059
+<a name="l00061"></a><a class="code" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">00061</a> <span class="keyword">explicit</span> <a class="code" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68" title="Constructor with a value.">cartesian_distance</a>(T <span class="keyword">const</span>&amp; v) : m_squared_distance(v) {}
+<a name="l00062"></a>00062
+<a name="l00065"></a><a class="code" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">00065</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">operator cast_type</a>()<span class="keyword"> const</span>
+<a name="l00066"></a>00066 <span class="keyword"> </span>{
+<a name="l00067"></a>00067 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span> <span class="keywordflow">return</span> boost::sqrt(m_squared_distance);
+<a name="l00069"></a>00069 <span class="preprocessor">#else</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span> <span class="keywordflow">return</span> boost::numeric_cast&lt;cast_type&gt;
+<a name="l00071"></a>00071 (
+<a name="l00072"></a>00072 std::sqrt(
+<a name="l00073"></a>00073 boost::numeric_cast
+<a name="l00074"></a>00074 &lt;
+<a name="l00075"></a>00075 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise&lt;cast_type, double&gt;::type</a>
+<a name="l00076"></a>00076 &gt;(m_squared_distance)
+<a name="l00077"></a>00077 )
+<a name="l00078"></a>00078 );
+<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
+<a name="l00080"></a>00080 <span class="preprocessor"></span> }
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="comment">// Compare squared values</span>
+<a name="l00083"></a><a class="code" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">00083</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(cartesian_distance&lt;T&gt; <span class="keyword">const</span>&amp; other) <span class="keyword">const</span>
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> this-&gt;m_squared_distance &lt; other.m_squared_distance;
+<a name="l00086"></a>00086 }
+<a name="l00087"></a><a class="code" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">00087</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">operator&gt;</a>(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00088"></a>00088 <span class="keyword"> </span>{
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> this-&gt;m_squared_distance &gt; other.m_squared_distance;
+<a name="l00090"></a>00090 }
+<a name="l00091"></a><a class="code" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">00091</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">operator==</a>(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; other)<span class="keyword"> const</span>
+<a name="l00092"></a>00092 <span class="keyword"> </span>{
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> this-&gt;m_squared_distance == other.m_squared_distance;
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="comment">// Compare just with a corresponding POD value</span>
+<a name="l00097"></a>00097 <span class="comment">// Note: this is NOT possible because of the cast to double,</span>
+<a name="l00098"></a>00098 <span class="comment">// it makes it for the compiler ambiguous which to take</span>
+<a name="l00099"></a>00099 <span class="comment">/*</span>
+<a name="l00100"></a>00100 <span class="comment"> inline bool operator&lt;(T const&amp; value) const</span>
+<a name="l00101"></a>00101 <span class="comment"> {</span>
+<a name="l00102"></a>00102 <span class="comment"> return this-&gt;m_squared_distance &lt; (value * value);</span>
+<a name="l00103"></a>00103 <span class="comment"> }</span>
+<a name="l00104"></a>00104 <span class="comment"> inline bool operator&gt;(T const&amp; value) const</span>
+<a name="l00105"></a>00105 <span class="comment"> {</span>
+<a name="l00106"></a>00106 <span class="comment"> return this-&gt;m_squared_distance &gt; (value * value);</span>
+<a name="l00107"></a>00107 <span class="comment"> }</span>
+<a name="l00108"></a>00108 <span class="comment"> inline bool operator==(T const&amp; value) const</span>
+<a name="l00109"></a>00109 <span class="comment"> {</span>
+<a name="l00110"></a>00110 <span class="comment"> return this-&gt;m_squared_distance == (value * value);</span>
+<a name="l00111"></a>00111 <span class="comment"> }</span>
+<a name="l00112"></a>00112 <span class="comment"> */</span>
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="comment">// Utility method to compare without SQRT, but not with method above because for epsilon that</span>
+<a name="l00115"></a>00115 <span class="comment">// makes no sense...</span>
+<a name="l00116"></a><a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">00116</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>()<span class="keyword"> const</span>
+<a name="l00117"></a>00117 <span class="keyword"> </span>{
+<a name="l00118"></a>00118 <span class="keywordflow">return</span> m_squared_distance &lt;= std::numeric_limits&lt;T&gt;::epsilon();
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120
+<a name="l00122"></a><a class="code" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">00122</a> <span class="keyword">inline</span> T <a class="code" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b" title="The &amp;quot;squared_value&amp;quot; method returns the internal squared value.">squared_value</a>()<span class="keyword"> const</span>
+<a name="l00123"></a>00123 <span class="keyword"> </span>{
+<a name="l00124"></a>00124 <span class="keywordflow">return</span> m_squared_distance;
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126
+<a name="l00128"></a>00128 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CH, <span class="keyword">typename</span> TR&gt;
+<a name="l00129"></a><a class="code" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">00129</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream&lt;CH, TR&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CH, TR&gt;&amp; os,
+<a name="l00130"></a>00130 <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; d)
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="comment">// Avoid "ambiguous function call" for MSVC</span>
+<a name="l00133"></a>00133 cast_type <span class="keyword">const</span> sq = d.m_squared_distance;
 <a name="l00134"></a>00134
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="comment">/*</span>
-<a name="l00137"></a>00137 <span class="comment"></span>
-<a name="l00138"></a>00138 <span class="comment"> From Phil Endecott, on the list:</span>
-<a name="l00139"></a>00139 <span class="comment"></span>
-<a name="l00140"></a>00140 <span class="comment"> You can go further. If I'm searching through a long list of points to</span>
-<a name="l00141"></a>00141 <span class="comment"> find the closest to P then I'll avoid the squaring (and conversion to</span>
-<a name="l00142"></a>00142 <span class="comment"> double if my co-ordinates are integers) whenever possible. You can</span>
-<a name="l00143"></a>00143 <span class="comment"> achieve this with a more complex distance proxy:</span>
-<a name="l00144"></a>00144 <span class="comment"></span>
-<a name="l00145"></a>00145 <span class="comment"> class distance_proxy {</span>
-<a name="l00146"></a>00146 <span class="comment"> double dx;</span>
-<a name="l00147"></a>00147 <span class="comment"> double dy;</span>
-<a name="l00148"></a>00148 <span class="comment"> distance_proxy(double dx_, double dy_): dx(dx_), dy(dy_) {}</span>
-<a name="l00149"></a>00149 <span class="comment"> friend pythag_distance(point,point);</span>
-<a name="l00150"></a>00150 <span class="comment"> public:</span>
-<a name="l00151"></a>00151 <span class="comment"> operator double() { return sqrt(dx*dx+dy*dy); }</span>
-<a name="l00152"></a>00152 <span class="comment"> bool operator&gt;(double d) {</span>
-<a name="l00153"></a>00153 <span class="comment"> return dx&gt;d</span>
-<a name="l00154"></a>00154 <span class="comment"> || dy&gt;d</span>
-<a name="l00155"></a>00155 <span class="comment"> || (dx*dx+dy*dy &gt; d*d);</span>
-<a name="l00156"></a>00156 <span class="comment"> }</span>
-<a name="l00157"></a>00157 <span class="comment"> };</span>
-<a name="l00158"></a>00158 <span class="comment"></span>
-<a name="l00159"></a>00159 <span class="comment"> So this is convertible to double, but can be compared to a distance</span>
-<a name="l00160"></a>00160 <span class="comment"> without any need for sqrt() and only multiplication in some cases.</span>
-<a name="l00161"></a>00161 <span class="comment"> Further refinement is possible.</span>
-<a name="l00162"></a>00162 <span class="comment"></span>
-<a name="l00163"></a>00163 <span class="comment"></span>
-<a name="l00164"></a>00164 <span class="comment"> Barend:</span>
-<a name="l00165"></a>00165 <span class="comment"> feasable, needs to be templatized by the number of dimensions. For distance it</span>
-<a name="l00166"></a>00166 <span class="comment"> results in a nice "delayed calculation".</span>
-<a name="l00167"></a>00167 <span class="comment"> For searching you might take another approach, first calculate dx, if OK then dy,</span>
-<a name="l00168"></a>00168 <span class="comment"> if OK then the sqrs. So as above but than distance does not need to be calculated.</span>
-<a name="l00169"></a>00169 <span class="comment"> So it is in fact another strategy.</span>
+<a name="l00135"></a>00135 os &lt;&lt;
+<a name="l00136"></a>00136 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
+<a name="l00137"></a>00137 <span class="preprocessor"></span> boost::sqrt(sq);
+<a name="l00138"></a>00138 <span class="preprocessor">#else</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span> std::sqrt(sq);
+<a name="l00140"></a>00140 <span class="preprocessor">#endif</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span> <span class="keywordflow">return</span> os;
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="comment">/*</span>
+<a name="l00149"></a>00149 <span class="comment"></span>
+<a name="l00150"></a>00150 <span class="comment"> From Phil Endecott, on the list:</span>
+<a name="l00151"></a>00151 <span class="comment"></span>
+<a name="l00152"></a>00152 <span class="comment"> You can go further. If I'm searching through a long list of points to</span>
+<a name="l00153"></a>00153 <span class="comment"> find the closest to P then I'll avoid the squaring (and conversion to</span>
+<a name="l00154"></a>00154 <span class="comment"> double if my co-ordinates are integers) whenever possible. You can</span>
+<a name="l00155"></a>00155 <span class="comment"> achieve this with a more complex distance proxy:</span>
+<a name="l00156"></a>00156 <span class="comment"></span>
+<a name="l00157"></a>00157 <span class="comment"> class distance_proxy {</span>
+<a name="l00158"></a>00158 <span class="comment"> double dx;</span>
+<a name="l00159"></a>00159 <span class="comment"> double dy;</span>
+<a name="l00160"></a>00160 <span class="comment"> distance_proxy(double dx_, double dy_): dx(dx_), dy(dy_) {}</span>
+<a name="l00161"></a>00161 <span class="comment"> friend pythag_distance(point,point);</span>
+<a name="l00162"></a>00162 <span class="comment"> public:</span>
+<a name="l00163"></a>00163 <span class="comment"> operator double() { return sqrt(dx*dx+dy*dy); }</span>
+<a name="l00164"></a>00164 <span class="comment"> bool operator&gt;(double d) {</span>
+<a name="l00165"></a>00165 <span class="comment"> return dx&gt;d</span>
+<a name="l00166"></a>00166 <span class="comment"> || dy&gt;d</span>
+<a name="l00167"></a>00167 <span class="comment"> || (dx*dx+dy*dy &gt; d*d);</span>
+<a name="l00168"></a>00168 <span class="comment"> }</span>
+<a name="l00169"></a>00169 <span class="comment"> };</span>
 <a name="l00170"></a>00170 <span class="comment"></span>
-<a name="l00171"></a>00171 <span class="comment"></span>
-<a name="l00172"></a>00172 <span class="comment">*/</span>
-<a name="l00173"></a>00173
-<a name="l00174"></a>00174
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00177"></a>00177 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
-<a name="l00178"></a>00178 {
-<a name="l00179"></a>00179 <span class="keyword">namespace </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
-<a name="l00180"></a>00180 {
-<a name="l00181"></a>00181 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
-<a name="l00182"></a>00182 <span class="keyword">struct </span>distance_result_maker
-<a name="l00183"></a>00183 {
-<a name="l00184"></a>00184 };
+<a name="l00171"></a>00171 <span class="comment"> So this is convertible to double, but can be compared to a distance</span>
+<a name="l00172"></a>00172 <span class="comment"> without any need for sqrt() and only multiplication in some cases.</span>
+<a name="l00173"></a>00173 <span class="comment"> Further refinement is possible.</span>
+<a name="l00174"></a>00174 <span class="comment"></span>
+<a name="l00175"></a>00175 <span class="comment"></span>
+<a name="l00176"></a>00176 <span class="comment"> Barend:</span>
+<a name="l00177"></a>00177 <span class="comment"> feasable, needs to be templatized by the number of dimensions. For distance it</span>
+<a name="l00178"></a>00178 <span class="comment"> results in a nice "delayed calculation".</span>
+<a name="l00179"></a>00179 <span class="comment"> For searching you might take another approach, first calculate dx, if OK then dy,</span>
+<a name="l00180"></a>00180 <span class="comment"> if OK then the sqrs. So as above but than distance does not need to be calculated.</span>
+<a name="l00181"></a>00181 <span class="comment"> So it is in fact another strategy.</span>
+<a name="l00182"></a>00182 <span class="comment"></span>
+<a name="l00183"></a>00183 <span class="comment"></span>
+<a name="l00184"></a>00184 <span class="comment">*/</span>
 <a name="l00185"></a>00185
-<a name="l00186"></a>00186 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
-<a name="l00187"></a>00187 <span class="keyword">struct </span>distance_result_maker&lt;ggl::cartesian_distance&lt;R&gt;, T&gt;
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">ggl::cartesian_distance&lt;R&gt;</a> apply(T <span class="keyword">const</span>&amp; value)
-<a name="l00190"></a>00190 {
-<a name="l00191"></a>00191 <span class="keywordflow">return</span> cartesian_distance&lt;R&gt;(value * value);
-<a name="l00192"></a>00192 }
-<a name="l00193"></a>00193 };
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00196"></a>00196 <span class="keyword">struct </span>distance_result_maker&lt;double, T&gt;
-<a name="l00197"></a>00197 {
-<a name="l00198"></a>00198 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(T <span class="keyword">const</span>&amp; value)
-<a name="l00199"></a>00199 {
-<a name="l00200"></a>00200 <span class="keywordflow">return</span> value;
-<a name="l00201"></a>00201 }
-<a name="l00202"></a>00202 };
-<a name="l00203"></a>00203
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>
-<a name="l00207"></a>00207 {
-<a name="l00208"></a>00208 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(T <span class="keyword">const</span>&amp; value)
-<a name="l00209"></a>00209 {
-<a name="l00210"></a>00210 <span class="keywordflow">return</span> value &lt;= std::numeric_limits&lt;T&gt;::epsilon();
-<a name="l00211"></a>00211 }
-<a name="l00212"></a>00212 };
-<a name="l00213"></a>00213
-<a name="l00214"></a>00214
-<a name="l00215"></a>00215 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00216"></a>00216 <span class="keyword">struct </span><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>&lt;ggl::cartesian_distance&lt;T&gt; &gt;
-<a name="l00217"></a>00217 {
-<a name="l00218"></a>00218 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">ggl::cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; value)
-<a name="l00219"></a>00219 {
-<a name="l00220"></a>00220 <span class="keywordflow">return</span> value.<a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>();
-<a name="l00221"></a>00221 }
-<a name="l00222"></a>00222 };
-<a name="l00223"></a>00223
-<a name="l00224"></a>00224
-<a name="l00225"></a>00225 }
-<a name="l00226"></a>00226 }
-<a name="l00227"></a>00227 <span class="preprocessor">#endif</span>
-<a name="l00228"></a>00228 <span class="preprocessor"></span>
-<a name="l00229"></a>00229
-<a name="l00241"></a>00241 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
-<a name="l00242"></a><a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">00242</a> <span class="keyword">inline</span> R <a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331" title="Object generator to create instance which can be compared.">make_distance_result</a>(T <span class="keyword">const</span>&amp; value)
-<a name="l00243"></a>00243 {
-<a name="l00244"></a>00244 <span class="keywordflow">return</span> detail::distance::distance_result_maker&lt;R, T&gt;::apply(value);
-<a name="l00245"></a>00245 }
-<a name="l00246"></a>00246
-<a name="l00247"></a>00247
-<a name="l00256"></a>00256 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
-<a name="l00257"></a><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">00257</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>(T <span class="keyword">const</span>&amp; value)
-<a name="l00258"></a>00258 {
-<a name="l00259"></a>00259 <span class="keywordflow">return</span> detail::distance::close_to_zero&lt;T&gt;::apply(value);
-<a name="l00260"></a>00260 }
-<a name="l00261"></a>00261
-<a name="l00262"></a>00262 } <span class="comment">// namespace ggl</span>
-<a name="l00263"></a>00263
-<a name="l00264"></a>00264
-<a name="l00265"></a>00265 <span class="preprocessor">#endif // GGL_GEOMETRY_STRATEGIES_DISTANCE_RESULT_HPP</span>
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00189"></a>00189 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00190"></a>00190 {
+<a name="l00191"></a>00191 <span class="keyword">namespace </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00192"></a>00192 {
+<a name="l00193"></a>00193 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00194"></a>00194 <span class="keyword">struct </span>distance_result_maker
+<a name="l00195"></a>00195 {
+<a name="l00196"></a>00196 };
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00199"></a>00199 <span class="keyword">struct </span>distance_result_maker&lt;ggl::cartesian_distance&lt;R&gt;, T&gt;
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">ggl::cartesian_distance&lt;R&gt;</a> apply(T <span class="keyword">const</span>&amp; value)
+<a name="l00202"></a>00202 {
+<a name="l00203"></a>00203 <span class="keywordflow">return</span> cartesian_distance&lt;R&gt;(value * value);
+<a name="l00204"></a>00204 }
+<a name="l00205"></a>00205 };
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00208"></a>00208 <span class="keyword">struct </span>distance_result_maker&lt;double, T&gt;
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(T <span class="keyword">const</span>&amp; value)
+<a name="l00211"></a>00211 {
+<a name="l00212"></a>00212 <span class="keywordflow">return</span> value;
+<a name="l00213"></a>00213 }
+<a name="l00214"></a>00214 };
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00218"></a>00218 <span class="keyword">struct </span><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(T <span class="keyword">const</span>&amp; value)
+<a name="l00221"></a>00221 {
+<a name="l00222"></a>00222 <span class="keywordflow">return</span> value &lt;= std::numeric_limits&lt;T&gt;::epsilon();
+<a name="l00223"></a>00223 }
+<a name="l00224"></a>00224 };
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00228"></a>00228 <span class="keyword">struct </span><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>&lt;ggl::cartesian_distance&lt;T&gt; &gt;
+<a name="l00229"></a>00229 {
+<a name="l00230"></a>00230 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">ggl::cartesian_distance&lt;T&gt;</a> <span class="keyword">const</span>&amp; value)
+<a name="l00231"></a>00231 {
+<a name="l00232"></a>00232 <span class="keywordflow">return</span> value.<a class="code" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">very_small</a>();
+<a name="l00233"></a>00233 }
+<a name="l00234"></a>00234 };
+<a name="l00235"></a>00235
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 }
+<a name="l00238"></a>00238 }
+<a name="l00239"></a>00239 <span class="preprocessor">#endif</span>
+<a name="l00240"></a>00240 <span class="preprocessor"></span>
+<a name="l00241"></a>00241
+<a name="l00253"></a>00253 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T&gt;
+<a name="l00254"></a><a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">00254</a> <span class="keyword">inline</span> R <a class="code" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331" title="Object generator to create instance which can be compared.">make_distance_result</a>(T <span class="keyword">const</span>&amp; value)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 <span class="keywordflow">return</span> detail::distance::distance_result_maker&lt;R, T&gt;::apply(value);
+<a name="l00257"></a>00257 }
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259
+<a name="l00268"></a>00268 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
+<a name="l00269"></a><a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">00269</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098" title="Utility function to check if a distance is very small.">close_to_zero</a>(T <span class="keyword">const</span>&amp; value)
+<a name="l00270"></a>00270 {
+<a name="l00271"></a>00271 <span class="keywordflow">return</span> detail::distance::close_to_zero&lt;T&gt;::apply(value);
+<a name="l00272"></a>00272 }
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 } <span class="comment">// namespace ggl</span>
+<a name="l00275"></a>00275
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 <span class="preprocessor">#endif // GGL_STRATEGIES_DISTANCE_RESULT_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -54,7 +54,7 @@
 <a name="l00012"></a>00012
 <a name="l00013"></a>00013 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
 <a name="l00014"></a>00014
-<a name="l00822"></a>00822 <span class="preprocessor">#endif // _DOXYGEN_DESIGN_RATIONALE_HPP</span>
+<a name="l00823"></a>00823 <span class="preprocessor">#endif // _DOXYGEN_DESIGN_RATIONALE_HPP</span>
 </pre></div></div>
 <hr size="1">
 <table width="100%">

Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
@@ -57,7 +57,7 @@
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2distance_8hpp.html">distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2envelope_8hpp.html">envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="equals_8hpp.html">equals.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/algorithms/<a class="el" href="for__each_8hpp.html">for_each.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2for__each_8hpp.html">for_each.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2get__section_8hpp.html">get_section.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="intermediate_8hpp.html">intermediate.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2intersection_8hpp.html">intersection.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -74,6 +74,7 @@
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2transform_8hpp.html">transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/<a class="el" href="algorithms_2within_8hpp.html">within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/detail/<a class="el" href="calculate__null_8hpp.html">calculate_null.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/algorithms/detail/<a class="el" href="calculate__sum_8hpp.html">calculate_sum.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/detail/<a class="el" href="not_8hpp.html">not.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="adapt__turns_8hpp.html">adapt_turns.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/algorithms/overlay/<a class="el" href="copy__segments_8hpp.html">copy_segments.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -150,7 +151,7 @@
   <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2correct_8hpp.html">correct.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2distance_8hpp.html">distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2envelope_8hpp.html">envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="foreach_8hpp.html">foreach.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2for__each_8hpp.html">for_each.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2get__section_8hpp.html">get_section.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2intersection_8hpp.html">intersection.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2length_8hpp.html">length.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -176,13 +177,14 @@
   <tr><td class="indexkey">ggl/policies/relate/<a class="el" href="direction_8hpp.html">direction.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/policies/relate/<a class="el" href="intersection__points_8hpp.html">intersection_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/policies/relate/<a class="el" href="tupled_8hpp.html">tupled.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/<a class="el" href="area__result_8hpp.html">area_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/<a class="el" href="distance__result_8hpp.html">distance_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/<a class="el" href="intersection__result_8hpp.html">intersection_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/<a class="el" href="length__result_8hpp.html">length_result.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/<a class="el" href="strategies_8hpp.html">strategies.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/<a class="el" href="strategy__traits_8hpp.html">strategy_traits.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/<a class="el" href="strategy__transform_8hpp.html">strategy_transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="agn__convex__hull_8hpp.html">agn_convex_hull.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="agn__simplify_8hpp.html">agn_simplify.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="agn__within_8hpp.html">agn_within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="simplify__douglas__peucker_8hpp.html">simplify_douglas_peucker.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__area_8hpp.html">cart_area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -196,7 +198,6 @@
   <tr><td class="indexkey">ggl/strategies/concepts/<a class="el" href="simplify__concept_8hpp.html">simplify_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="distance__cross__track_8hpp.html">distance_cross_track.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="distance__haversine_8hpp.html">distance_haversine.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="haversine_8hpp.html">haversine.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="sph__area_8hpp.html">sph_area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="sph__envelope_8hpp.html">sph_envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">ggl/strategies/transform/<a class="el" href="inverse__transformer_8hpp.html">inverse_transformer.hpp</a> [code]</td><td class="indexvalue"></td></tr>

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,92 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/algorithms/for_each.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gbce8332305fc715d4587e7d78c21e4aa">ggl::for_each_point</a> (G &amp;geometry, F f)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">ggl::for_each_point</a> (G const &amp;geometry, F f)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gf3b5b3004fc802700882f9f4a184564a">ggl::for_each_segment</a> (G &amp;geometry, F f)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename G , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3">ggl::for_each_segment</a> (const G &amp;geometry, F f)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls functor for segments on linestrings, rings, polygons, ... <br></td></tr>
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by&nbsp;Doxygen
-</small></address>
-</body>
-</html>

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,296 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/algorithms/for_each.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_FOR_EACH_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_FOR_EACH_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;algorithm&gt;</span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;boost/concept/requires.hpp&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;boost/range/functions.hpp&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;boost/range/metafunctions.hpp&gt;</span>
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>&gt;</span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>&gt;</span>
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keyword">namespace </span>ggl
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
-<a name="l00039"></a>00039 <span class="keyword">struct </span>fe_point
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_point(P <span class="keyword">const</span>&amp; p, F f)
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 f(p);
-<a name="l00044"></a>00044 <span class="keywordflow">return</span> (f);
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(P&amp; p, F f)
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049 f(p);
-<a name="l00050"></a>00050 <span class="keywordflow">return</span> (f);
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 };
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> F&gt;
-<a name="l00055"></a>00055 <span class="keyword">struct </span>fe_range
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_point(R <span class="keyword">const</span>&amp; range, F f)
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
-<a name="l00060"></a>00060 }
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(R&amp; range, F f)
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
-<a name="l00065"></a>00065 }
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_segment(R <span class="keyword">const</span>&amp; range, F f)
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator&lt;R&gt;::type iterator_type;
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 iterator_type it = boost::begin(range);
-<a name="l00072"></a>00072 iterator_type previous = it++;
-<a name="l00073"></a>00073 <span class="keywordflow">while</span>(it != boost::end(range))
-<a name="l00074"></a>00074 {
-<a name="l00075"></a>00075 segment&lt;typename point_type&lt;R&gt;::type&gt; s(*previous, *it);
-<a name="l00076"></a>00076 f(s);
-<a name="l00077"></a>00077 previous = it++;
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="keywordflow">return</span> (f);
-<a name="l00081"></a>00081 }
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(R&amp; range, F f)
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator&lt;R&gt;::type iterator_type;
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 iterator_type it = boost::begin(range);
-<a name="l00088"></a>00088 iterator_type previous = it++;
-<a name="l00089"></a>00089 <span class="keywordflow">while</span>(it != boost::end(range))
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 segment&lt;typename point_type&lt;R&gt;::type&gt; s(*previous, *it);
-<a name="l00092"></a>00092 f(s);
-<a name="l00093"></a>00093 previous = it++;
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keywordflow">return</span> (f);
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098 };
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
-<a name="l00101"></a>00101 <span class="keyword">struct </span>fe_polygon
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_point(P <span class="keyword">const</span>&amp; poly, F f)
-<a name="l00104"></a>00104 {
-<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
-<a name="l00106"></a>00106 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00107"></a>00107 &lt;
-<a name="l00108"></a>00108 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
-<a name="l00109"></a>00109 &gt;::type iterator_type;
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 f = fe_range&lt;ring_type, F&gt;::for_each_const_point(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00114"></a>00114 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); it++)
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116 f = fe_range&lt;ring_type, F&gt;::for_each_const_point(*it, f);
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="keywordflow">return</span> (f);
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(P&amp; poly, F f)
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
-<a name="l00125"></a>00125 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
-<a name="l00126"></a>00126 &lt;
-<a name="l00127"></a>00127 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
-<a name="l00128"></a>00128 &gt;::type iterator_type;
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 f = <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">fe_range&lt;ring_type, F&gt;::for_each_point</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00133"></a>00133 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); it++)
-<a name="l00134"></a>00134 {
-<a name="l00135"></a>00135 f = <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">fe_range&lt;ring_type, F&gt;::for_each_point</a>(*it, f);
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keywordflow">return</span> (f);
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keyword">static</span> <span class="keyword">inline</span> F for_each_const_segment(P <span class="keyword">const</span>&amp; poly, F f)
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
-<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00145"></a>00145 &lt;
-<a name="l00146"></a>00146 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
-<a name="l00147"></a>00147 &gt;::type iterator_type;
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 f = fe_range&lt;ring_type, F&gt;::for_each_const_segment(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00152"></a>00152 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); it++)
-<a name="l00153"></a>00153 {
-<a name="l00154"></a>00154 f = fe_range&lt;ring_type, F&gt;::for_each_const_segment(*it, f);
-<a name="l00155"></a>00155 }
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <span class="keywordflow">return</span> (f);
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="keyword">static</span> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(P&amp; poly, F f)
-<a name="l00161"></a>00161 {
-<a name="l00162"></a>00162 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type&lt;P&gt;::type ring_type;
-<a name="l00163"></a>00163 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
-<a name="l00164"></a>00164 &lt;
-<a name="l00165"></a>00165 <span class="keyword">typename</span> interior_type&lt;P&gt;::type
-<a name="l00166"></a>00166 &gt;::type iterator_type;
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168 f = <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">fe_range&lt;ring_type, F&gt;::for_each_segment</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00171"></a>00171 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); it++)
-<a name="l00172"></a>00172 {
-<a name="l00173"></a>00173 f = <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">fe_range&lt;ring_type, F&gt;::for_each_segment</a>(*it, f);
-<a name="l00174"></a>00174 }
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="keywordflow">return</span> (f);
-<a name="l00177"></a>00177 }
-<a name="l00178"></a>00178 };
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 }} <span class="comment">// namespace detail::for_each</span>
-<a name="l00181"></a>00181 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00182"></a>00182 <span class="preprocessor"></span>
-<a name="l00183"></a>00183
-<a name="l00184"></a>00184 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00186"></a>00186 {
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
-<a name="l00189"></a>00189 <span class="keyword">struct </span>for_each {};
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
-<a name="l00192"></a>00192 <span class="keyword">struct </span>for_each&lt;point_tag, P, F&gt; : detail::for_each::fe_point&lt;P, F&gt; {};
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> L, <span class="keyword">typename</span> F&gt;
-<a name="l00195"></a>00195 <span class="keyword">struct </span>for_each&lt;linestring_tag, L, F&gt; : detail::for_each::fe_range&lt;L, F&gt; {};
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> F&gt;
-<a name="l00198"></a>00198 <span class="keyword">struct </span>for_each&lt;ring_tag, R, F&gt; : detail::for_each::fe_range&lt;R, F&gt; {};
-<a name="l00199"></a>00199
-<a name="l00200"></a>00200 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> P, <span class="keyword">typename</span> F&gt;
-<a name="l00201"></a>00201 <span class="keyword">struct </span>for_each&lt;polygon_tag, P, F&gt; : detail::for_each::fe_polygon&lt;P, F&gt; {};
-<a name="l00202"></a>00202
-<a name="l00203"></a>00203 } <span class="comment">// namespace dispatch</span>
-<a name="l00204"></a>00204 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00205"></a>00205 <span class="preprocessor"></span>
-<a name="l00213"></a>00213 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
-<a name="l00214"></a><a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a">00214</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(G <span class="keyword">const</span>&amp; geometry, F f)
-<a name="l00215"></a>00215 {
-<a name="l00216"></a>00216 <span class="keyword">typedef</span> <span class="keyword">typename</span> dispatch::for_each
-<a name="l00217"></a>00217 &lt;
-<a name="l00218"></a>00218 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>,
-<a name="l00219"></a>00219 G,
-<a name="l00220"></a>00220 F
-<a name="l00221"></a>00221 &gt;::for_each_const_point for_each_type;
-<a name="l00222"></a>00222
-<a name="l00223"></a>00223 <span class="keywordflow">return</span> for_each_type(geometry, f);
-<a name="l00224"></a>00224 }
-<a name="l00225"></a>00225
-<a name="l00233"></a>00233 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
-<a name="l00234"></a><a class="code" href="group__loop.html#gbce8332305fc715d4587e7d78c21e4aa">00234</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(G&amp; geometry, F f)
-<a name="l00235"></a>00235 {
-<a name="l00236"></a>00236 <span class="keywordflow">return</span> (dispatch::for_each&lt;<span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, G, F&gt;::<a class="code" href="group__loop.html#g71cb52ab6490726f9030b464aa2f5e8a" title="Calls functor for geometry.">for_each_point</a>(geometry, f));
-<a name="l00237"></a>00237 }
-<a name="l00238"></a>00238
-<a name="l00246"></a>00246 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
-<a name="l00247"></a><a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3">00247</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(<span class="keyword">const</span> G&amp; geometry, F f)
-<a name="l00248"></a>00248 {
-<a name="l00249"></a>00249 <span class="keywordflow">return</span> (dispatch::for_each&lt;<span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, G, F&gt;::for_each_const_segment(geometry, f));
-<a name="l00250"></a>00250 }
-<a name="l00251"></a>00251
-<a name="l00252"></a>00252
-<a name="l00260"></a>00260 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> G, <span class="keyword">typename</span> F&gt;
-<a name="l00261"></a><a class="code" href="group__loop.html#gf3b5b3004fc802700882f9f4a184564a">00261</a> <span class="keyword">inline</span> F <a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(G&amp; geometry, F f)
-<a name="l00262"></a>00262 {
-<a name="l00263"></a>00263 <span class="keywordflow">return</span> (dispatch::for_each&lt;<span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&amp;quot;default&amp;quot; tag">tag&lt;G&gt;::type</a>, G, F&gt;::<a class="code" href="group__loop.html#gefcad88c6ee4e308e1003eff7752b3f3" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(geometry, f));
-<a name="l00264"></a>00264 }
-<a name="l00265"></a>00265
-<a name="l00266"></a>00266 } <span class="comment">// namespace ggl</span>
-<a name="l00267"></a>00267
-<a name="l00268"></a>00268 <span class="preprocessor">#endif // GGL_ALGORITHMS_FOR_EACH_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by&nbsp;Doxygen
-</small></address>
-</body>
-</html>

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,136 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/multi/algorithms/foreach.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3b3b5c7184cabf25d464055befdf771f">ggl::for_each_point</a> (const multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9d56089829983b18a5647668a81f625d">ggl::for_each_point</a> (const multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e8a2e92fd956aa3df683a612f14ba677">ggl::for_each_point</a> (const multi_point&lt; P, V, A &gt; &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#500ee15ef99a75697def76e4438f24f7">ggl::for_each_point</a> (multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#2b3c62431652f833fa2d549c6b7e3c3c">ggl::for_each_point</a> (multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename P , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#cbb57ed0b758231c53971362af3a0761">ggl::for_each_point</a> (multi_point&lt; P, V, A &gt; &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#77d4fc4a0165db7675e78b290f93a638">ggl::for_each_point_multi_linestring</a> (const ML &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">ggl::for_each_point_multi_linestring</a> (ML &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MP , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#e90a5c12e70988e6ab8886a407ded929">ggl::for_each_point_multi_point</a> (const MP &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MP , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">ggl::for_each_point_multi_point</a> (MP &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#5d6800969a6bf28a35785e3c9eb5b0ea">ggl::for_each_point_multi_polygon</a> (const MY &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">ggl::for_each_point_multi_polygon</a> (MY &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#326e05f4a599d0a732b4ee83ec9ea0cc">ggl::for_each_segment</a> (const multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9b9e2763881a4191b54d44ba48b483e2">ggl::for_each_segment</a> (const multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename Y , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#4f2108bb3eff47320d5c2e6c545b7df9">ggl::for_each_segment</a> (multi_polygon&lt; Y, V, A &gt; &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename L , template&lt; typename, typename &gt; class V, template&lt; typename &gt; class A, typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#aab7ca3216793f5eb31dfc7b00294491">ggl::for_each_segment</a> (multi_linestring&lt; L, V, A &gt; &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#6dd128fb1487f8b269d888721a10f23b">ggl::for_each_segment_multi_linestring</a> (const ML &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ML , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">ggl::for_each_segment_multi_linestring</a> (ML &amp;ml, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c16f604abd7cd129b20fa49255a1838e">ggl::for_each_segment_multi_polygon</a> (const MY &amp;mp, F f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename MY , typename F &gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">F&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c07b4972809b53d2720a357b57aa840b">ggl::for_each_segment_multi_polygon</a> (MY &amp;mp, F f)</td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by&nbsp;Doxygen
-</small></address>
-</body>
-</html>

Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/foreach_8hpp_source.html 2009-10-22 11:28:27 EDT (Thu, 22 Oct 2009)
+++ (empty file)
@@ -1,287 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-&nbsp;&nbsp;
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/multi/algorithms/foreach.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_FOREACH_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_FOREACH_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>&gt;</span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 FIX ME it is not yet adapted to tag-dispatching
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
-<a name="l00020"></a>00020 {
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MP, <span class="keyword">typename</span> F&gt;
-<a name="l00023"></a><a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">00023</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">for_each_point_multi_point</a>(MP&amp; mp, F f)
-<a name="l00024"></a>00024 {
-<a name="l00025"></a>00025 <span class="keywordflow">return</span> (for_each_point_container(mp, f));
-<a name="l00026"></a>00026 }
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ML, <span class="keyword">typename</span> F&gt;
-<a name="l00029"></a><a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">00029</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">for_each_point_multi_linestring</a>(ML&amp; ml, F f)
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031 <span class="keywordflow">for</span> (<span class="keyword">typename</span> ML::iterator it = ml.begin(); it != ml.end(); it++)
-<a name="l00032"></a>00032 {
-<a name="l00033"></a>00033 f = for_each_point_linestring(*it, f);
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> (f);
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MY, <span class="keyword">typename</span> F&gt;
-<a name="l00039"></a><a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">00039</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">for_each_point_multi_polygon</a>(MY&amp; mp, F f)
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041 <span class="keywordflow">for</span> (<span class="keyword">typename</span> MY::iterator it = mp.begin(); it != mp.end(); it++)
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 f = for_each_point_polygon(*it, f);
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 <span class="keywordflow">return</span> (f);
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MP, <span class="keyword">typename</span> F&gt;
-<a name="l00052"></a><a class="code" href="namespaceggl.html#e90a5c12e70988e6ab8886a407ded929">00052</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#583292e2af8b5e8c473c66032028924f">for_each_point_multi_point</a>(<span class="keyword">const</span> MP&amp; mp, F f)
-<a name="l00053"></a>00053 {
-<a name="l00054"></a>00054 <span class="keywordflow">return</span> (for_each_point_container(mp, f));
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ML, <span class="keyword">typename</span> F&gt;
-<a name="l00059"></a><a class="code" href="namespaceggl.html#77d4fc4a0165db7675e78b290f93a638">00059</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#25386b22f7cdbb3f4cb1f39b5a454e79">for_each_point_multi_linestring</a>(<span class="keyword">const</span> ML&amp; ml, F f)
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keywordflow">for</span> (<span class="keyword">typename</span> ML::const_iterator it = ml.begin(); it != ml.end(); it++)
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063 f = for_each_point_linestring(*it, f);
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065 <span class="keywordflow">return</span> (f);
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> MY, <span class="keyword">typename</span> F&gt;
-<a name="l00069"></a><a class="code" href="namespaceggl.html#5d6800969a6bf28a35785e3c9eb5b0ea">00069</a> <span class="keyword">inline</span> F <a class="code" href="namespaceggl.html#0da7e7dff53b5f6382a1bb83efc5b4a8">for_each_point_multi_polygon</a>(<span class="keyword">const</span> MY&amp; mp, F f)
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 <span class="keywordflow">for</span> (<span class="keyword">typename</span> MY::const_iterator it = mp.begin(); it != mp.end(); it++)
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 f = for_each_point_polygon(*it, f);
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075 <span class="keywordflow">return</span> (f);
-<a name="l00076"></a>00076 }
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ML, <span class="keyword">typename</span> F&gt;
-<a name="l00081"></a><a class="code" href="namespaceggl.html#2ff9b5d4ab8ade0181c804bee391b26c">00081</a> <span class="keyword">inline</span> F <a cla