From d772abb370d6339c985b2d943b93d4a41fdbf7e6 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 May 2011 12:26:25 +0000 Subject: [PATCH 1/7] Removed now empty folders [SVN r71816] --- include/boost/geometry/geometries/register/linestring.hpp | 1 - include/boost/geometry/geometries/register/ring.hpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/geometry/geometries/register/linestring.hpp b/include/boost/geometry/geometries/register/linestring.hpp index 7efef2200..69934aa55 100644 --- a/include/boost/geometry/geometries/register/linestring.hpp +++ b/include/boost/geometry/geometries/register/linestring.hpp @@ -19,7 +19,6 @@ #include #include - /*! \brief \brief_macro{linestring} \ingroup register diff --git a/include/boost/geometry/geometries/register/ring.hpp b/include/boost/geometry/geometries/register/ring.hpp index d480e7aa0..5ead4c2cc 100644 --- a/include/boost/geometry/geometries/register/ring.hpp +++ b/include/boost/geometry/geometries/register/ring.hpp @@ -15,6 +15,7 @@ #ifndef BOOST_GEOMETRY_GEOMETRIES_REGISTER_RING_HPP #define BOOST_GEOMETRY_GEOMETRIES_REGISTER_RING_HPP + #include #include From 402fecdd589000e5622c69f52b32039ba9722487 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 May 2011 12:30:00 +0000 Subject: [PATCH 2/7] Removed now empty folders from test [SVN r71817] --- test/ranges/Jamfile.v2 | 15 --------------- test/ranges/ranges.sln | 25 ------------------------- 2 files changed, 40 deletions(-) delete mode 100644 test/ranges/Jamfile.v2 delete mode 100644 test/ranges/ranges.sln diff --git a/test/ranges/Jamfile.v2 b/test/ranges/Jamfile.v2 deleted file mode 100644 index 991051bf0..000000000 --- a/test/ranges/Jamfile.v2 +++ /dev/null @@ -1,15 +0,0 @@ -# Boost.Geometry (aka GGL, Generic Geometry Library) -# -# Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -# Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -# Copyright (c) 2009-2011 Mateusz Loskot, London, UK. -# -# Use, modification and distribution is subject to the Boost Software License, -# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt) - -test-suite boost-geometry-ranges - : - [ run segment_range.cpp ] - [ run box_range.cpp ] - ; diff --git a/test/ranges/ranges.sln b/test/ranges/ranges.sln deleted file mode 100644 index 5fee651c7..000000000 --- a/test/ranges/ranges.sln +++ /dev/null @@ -1,25 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "segment_range", "segment_range.vcproj", "{B49AC3E2-3497-465B-88C2-BCADA4B4ADAF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "box_range", "box_range.vcproj", "{34A1F53A-DA46-41E6-9E26-740D22D662DC}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B49AC3E2-3497-465B-88C2-BCADA4B4ADAF}.Debug|Win32.ActiveCfg = Debug|Win32 - {B49AC3E2-3497-465B-88C2-BCADA4B4ADAF}.Debug|Win32.Build.0 = Debug|Win32 - {B49AC3E2-3497-465B-88C2-BCADA4B4ADAF}.Release|Win32.ActiveCfg = Release|Win32 - {B49AC3E2-3497-465B-88C2-BCADA4B4ADAF}.Release|Win32.Build.0 = Release|Win32 - {34A1F53A-DA46-41E6-9E26-740D22D662DC}.Debug|Win32.ActiveCfg = Debug|Win32 - {34A1F53A-DA46-41E6-9E26-740D22D662DC}.Debug|Win32.Build.0 = Debug|Win32 - {34A1F53A-DA46-41E6-9E26-740D22D662DC}.Release|Win32.ActiveCfg = Release|Win32 - {34A1F53A-DA46-41E6-9E26-740D22D662DC}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal From dbd742cbff030d258949df5f884bbe2408be5fa8 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 May 2011 14:38:45 +0000 Subject: [PATCH 3/7] Mention all geometry headerfiles explicitly in examples (according to doc) [SVN r71821] --- doc/doxy/Doxyfile | 2 - .../doxygen_input/sourcecode/doxygen_2.cpp | 2 +- .../doxygen_input/sourcecode/doxygen_4.cpp | 1 + doc/geometry.qbk | 2 + doc/quickbook/misc.qbk | 137 ------------------ doc/src/examples/algorithms/append.cpp | 2 +- doc/src/examples/algorithms/area.cpp | 3 + .../algorithms/area_with_strategy.cpp | 3 + doc/src/examples/algorithms/assign.cpp | 3 + .../examples/algorithms/assign_2d_point.cpp | 2 +- .../examples/algorithms/assign_3d_point.cpp | 2 +- .../algorithms/assign_box_corners.cpp | 3 +- .../examples/algorithms/assign_inverse.cpp | 3 +- .../algorithms/assign_point_from_index.cpp | 3 +- .../algorithms/assign_point_to_index.cpp | 3 +- doc/src/examples/algorithms/assign_points.cpp | 2 +- doc/src/examples/algorithms/centroid.cpp | 3 +- doc/src/examples/algorithms/clear.cpp | 3 +- .../algorithms/comparable_distance.cpp | 1 + doc/src/examples/algorithms/convert.cpp | 3 + doc/src/examples/algorithms/convex_hull.cpp | 1 + doc/src/examples/algorithms/correct.cpp | 1 + doc/src/examples/algorithms/difference.cpp | 3 +- .../algorithms/difference_inserter.cpp | 3 +- doc/src/examples/algorithms/distance.cpp | 5 +- doc/src/examples/algorithms/envelope.cpp | 4 +- doc/src/examples/algorithms/equals.cpp | 2 +- .../examples/algorithms/for_each_point.cpp | 3 +- .../algorithms/for_each_point_const.cpp | 3 +- .../algorithms/for_each_segment_const.cpp | 3 +- .../algorithms/intersection_ls_ls_point.cpp | 1 + .../algorithms/intersection_poly_poly.cpp | 3 +- .../algorithms/intersection_segment.cpp | 1 + .../algorithms/intersects_linestring.cpp | 2 + .../algorithms/intersects_segment.cpp | 2 + doc/src/examples/algorithms/length.cpp | 2 + .../algorithms/length_with_strategy.cpp | 1 + doc/src/examples/algorithms/make_2d_point.cpp | 2 +- doc/src/examples/algorithms/make_3d_point.cpp | 2 +- doc/src/examples/algorithms/make_inverse.cpp | 3 +- .../examples/algorithms/make_with_range.cpp | 2 + .../examples/algorithms/num_geometries.cpp | 4 +- .../algorithms/num_interior_rings.cpp | 4 +- doc/src/examples/algorithms/num_points.cpp | 3 +- .../examples/algorithms/return_envelope.cpp | 4 +- doc/src/examples/algorithms/reverse.cpp | 3 +- doc/src/examples/algorithms/simplify.cpp | 3 + .../examples/algorithms/simplify_insert.cpp | 3 + .../simplify_insert_with_strategy.cpp | 3 + .../examples/algorithms/sym_difference.cpp | 3 +- doc/src/examples/algorithms/union.cpp | 3 +- doc/src/examples/algorithms/unique.cpp | 1 + doc/src/examples/algorithms/within.cpp | 3 +- doc/src/examples/core/closure.cpp | 3 + .../examples/core/coordinate_dimension.cpp | 2 + doc/src/examples/core/coordinate_system.cpp | 3 + doc/src/examples/core/coordinate_type.cpp | 3 + doc/src/examples/core/get_box.cpp | 2 + doc/src/examples/core/get_point.cpp | 2 + doc/src/examples/core/interior_type.cpp | 3 + doc/src/examples/core/point_order.cpp | 3 + doc/src/examples/core/point_type.cpp | 4 + doc/src/examples/core/ring_type.cpp | 3 + doc/src/examples/core/rings.cpp | 3 + doc/src/examples/core/set_box.cpp | 2 + doc/src/examples/core/set_point.cpp | 2 + doc/src/examples/core/tag.cpp | 2 + doc/src/examples/core/tag_cast.cpp | 3 + .../geometries/adapted/boost_array.cpp | 2 + .../adapted/boost_range/filtered.cpp | 3 + .../adapted/boost_range/reversed.cpp | 3 + .../geometries/adapted/boost_range/sliced.cpp | 2 + .../adapted/boost_range/strided.cpp | 2 + .../adapted/boost_range/uniqued.cpp | 2 + .../geometries/adapted/boost_tuple.cpp | 2 + .../geometries/register/box_templated.cpp | 2 + .../geometries/register/linestring.cpp | 2 + .../register/linestring_templated.cpp | 2 + .../geometries/register/multi_linestring.cpp | 2 + .../geometries/register/multi_polygon.cpp | 2 + doc/src/examples/geometries/register/ring.cpp | 2 + .../geometries/register/ring_templated.cpp | 2 + doc/src/examples/quick_start.cpp | 2 + example/01_point_example.cpp | 1 + example/02_linestring_example.cpp | 4 + example/03_polygon_example.cpp | 4 +- example/04_boost_example.cpp | 3 + example/05_a_overlay_polygon_example.cpp | 2 + ...5_b_overlay_linestring_polygon_example.cpp | 3 + example/06_a_transformation_example.cpp | 2 + example/06_b_transformation_example.cpp | 2 + example/07_a_graph_route_example.cpp | 1 + example/07_b_graph_route_example.cpp | 1 + example/c04_a_custom_triangle_example.cpp | 1 + example/c05_custom_point_pointer_example.cpp | 1 + .../x04_wxwidgets_world_mapper.cpp | 1 + .../x05_shapelib_example.cpp | 1 + .../x06_qt_world_mapper.cpp | 1 + .../experimental/geometry_of.cpp | 1 + .../gis/latlong/distance_example.cpp | 2 + .../projections/p01_projection_example.cpp | 1 + .../projections/p02_projfactory_example.cpp | 1 + .../gis/projections/p03_projmap_example.cpp | 1 + test/algorithms/area.cpp | 1 + test/algorithms/centroid.cpp | 1 + test/algorithms/convex_hull.cpp | 1 + test/algorithms/detail/partition.cpp | 1 + .../detail/sections/range_by_section.cpp | 1 + .../detail/sections/sectionalize.cpp | 2 + test/algorithms/difference.cpp | 2 + test/algorithms/disjoint.cpp | 1 + test/algorithms/distance.cpp | 1 + test/algorithms/envelope.cpp | 1 + test/algorithms/equals.cpp | 1 + test/algorithms/intersection.cpp | 1 + test/algorithms/intersects.cpp | 1 + test/algorithms/length.cpp | 1 + test/algorithms/overlaps.cpp | 1 + test/algorithms/overlay/assemble.cpp | 1 + test/algorithms/overlay/ccw_traverse.cpp | 1 + test/algorithms/overlay/dissolver.cpp | 1 + test/algorithms/overlay/relative_order.cpp | 2 + .../robustness/random_ellipses_stars.cpp | 2 + .../overlay/robustness/recursive_polygons.cpp | 1 + .../overlay/robustness/star_comb.cpp | 1 + .../overlay/robustness/test_overlay_p_q.hpp | 2 + test/algorithms/overlay/select_rings.cpp | 3 + .../overlay/self_intersection_points.cpp | 2 + test/algorithms/overlay/split_rings.cpp | 2 + test/algorithms/overlay/traverse_gmp.cpp | 1 + test/algorithms/perimeter.cpp | 1 + test/algorithms/reverse.cpp | 1 + test/algorithms/simplify.cpp | 2 +- test/algorithms/transform.cpp | 1 + test/algorithms/union.cpp | 1 + test/algorithms/unique.cpp | 1 + test/algorithms/within.cpp | 1 + test/geometries/boost_polygon_overlay.cpp | 1 + test/geometries/boost_range.cpp | 1 + test/iterators/closing_iterator.cpp | 1 + test/iterators/ever_circling_iterator.cpp | 1 + test/multi/algorithms/multi_area.cpp | 2 + test/multi/algorithms/multi_centroid.cpp | 1 + test/multi/algorithms/multi_convex_hull.cpp | 1 + test/multi/algorithms/multi_difference.cpp | 1 + test/multi/algorithms/multi_distance.cpp | 1 + test/multi/algorithms/multi_envelope.cpp | 1 + test/multi/algorithms/multi_equals.cpp | 1 + test/multi/algorithms/multi_for_each.cpp | 1 + test/multi/algorithms/multi_intersection.cpp | 1 + test/multi/algorithms/multi_length.cpp | 2 + .../multi/algorithms/multi_num_geometries.cpp | 1 + .../algorithms/multi_num_interior_rings.cpp | 1 + test/multi/algorithms/multi_num_points.cpp | 1 + test/multi/algorithms/multi_perimeter.cpp | 1 + test/multi/algorithms/multi_reverse.cpp | 1 + test/multi/algorithms/multi_simplify.cpp | 2 + test/multi/algorithms/multi_transform.cpp | 1 + test/multi/algorithms/multi_union.cpp | 1 + test/multi/algorithms/multi_unique.cpp | 1 + test/multi/algorithms/multi_within.cpp | 1 + test/views/closeable_view.cpp | 1 + test/views/reversible_closeable.cpp | 1 + test/views/reversible_view.cpp | 1 + test/views/segment_view.cpp | 1 + test_extensions/algorithms/connect.cpp | 1 + test_extensions/algorithms/dissolve.cpp | 1 + test_extensions/algorithms/is_convex.cpp | 1 + test_extensions/algorithms/mark_spikes.cpp | 1 + test_extensions/algorithms/midpoints.cpp | 1 + test_extensions/algorithms/offset.cpp | 1 + .../algorithms/remove_holes_if.cpp | 1 + test_extensions/algorithms/selected.cpp | 1 + .../gis/projections/projection.cpp | 1 + .../gis/projections/projection_epsg.cpp | 1 + .../gis/projections/projections.cpp | 2 + test_extensions/index/rtree.cpp | 2 +- test_extensions/nsphere/within.cpp | 2 + 178 files changed, 291 insertions(+), 175 deletions(-) diff --git a/doc/doxy/Doxyfile b/doc/doxy/Doxyfile index f6eda4d2c..8244b1b12 100644 --- a/doc/doxy/Doxyfile +++ b/doc/doxy/Doxyfile @@ -192,7 +192,6 @@ INPUT = . .. ../../../../boost/geometry/core \ ../../../../boost/geometry/multi/geometries \ ../../../../boost/geometry/multi/geometries/register \ ../../../../boost/geometry/multi/geometries/concepts \ - ../../../../boost/geometry/multi/iterators \ ../../../../boost/geometry/multi/strategies/cartesian \ ../../../../boost/geometry/policies \ ../../../../boost/geometry/policies/relate \ @@ -204,7 +203,6 @@ INPUT = . .. ../../../../boost/geometry/core \ ../../../../boost/geometry/strategies/transform \ ../../../../boost/geometry/util \ ../../../../boost/geometry/views \ - ../../../../boost/geometry/extensions/io/svg \ ./doxygen_input/pages \ ./doxygen_input/groups INPUT_ENCODING = UTF-8 diff --git a/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp b/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp index dd3594c7e..2f47e73a1 100644 --- a/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp +++ b/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp @@ -20,7 +20,7 @@ OBSOLETE #include #include #include -#include +#include #include #include #include diff --git a/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp b/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp index c78f99745..b837b1dce 100644 --- a/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp +++ b/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp @@ -13,6 +13,7 @@ OBSOLETE #include #include +#include #include diff --git a/doc/geometry.qbk b/doc/geometry.qbk index b42891feb..0f62fa731 100644 --- a/doc/geometry.qbk +++ b/doc/geometry.qbk @@ -72,6 +72,7 @@ All algorithms in Boost.Geometry will check any geometry arguments against the c [def __boost_range__ Boost.Range] [def __boost_tuple__ Boost.Tuple] [def __boost_gil__ [@http://www.boost.org/libs/gil/ Boost.GIL]] +[def __boost_bb__ Boost.Build] [def __ttmath__ [@http://www.ttmath.org/ ttmath]] [def __ogc__ [@http://www.opengeospatial.org OGC]] @@ -91,6 +92,7 @@ Boost.Geometry contains contributions by: [include quickstart.qbk] [include design_rationale.qbk] +[include compiling.qbk] [include matrix.qbk] [include reference.qbk] [include about_documentation.qbk] diff --git a/doc/quickbook/misc.qbk b/doc/quickbook/misc.qbk index e97074741..e446b543d 100644 --- a/doc/quickbook/misc.qbk +++ b/doc/quickbook/misc.qbk @@ -15,143 +15,6 @@ ['TODO: about giving birth here...] [endsect] [/ end of Release Notes] -[section Compilation] - -__boost_geometry__ is a headers-only library. Users only need to include the library -headers in their programs in order to be able to access definitions and algorithms -provided by the __boost_geometry__ library. No linking against any binaries is required. - -__boost_geometry__ is only dependant on headers-only __boost__ libraries. -It does not introduce indirect dependencies on any binary libraries. - -In order to be able to use __boost_geometry__, the only thing users need to do is to -install __boost_cpp_lib__ and specify location to include directories, so `include` -directives of this scheme will work: - - #include - -[heading Supported Compilers] - -__boost_geometry__ library has been successfully tested with the following compilers: - -* __msvc__ (including Express Edition) - * 9.0 (__msvs__ 2008) - * 8.0 (__msvs__ 2005) -* __gcc__ - * 4.x (confirmed versoins 4.1, 4.2, 4.4) - * 3.4 - -For __msvs__, the examples contains some project files (for 2005). However, because the library -is header only, it will be no problem to integrate it in your own project files. - -__boost_geometry__ uses __boost_bb__, a text-based system for developing and testing software, to -configure, build and execute unit tests and example programs. The build configuration is provided -as a collection of `Jamfile.v2` files. - -For __gcc__ , flag `-Wno-long-long` can be used to surpress some warnings originating from Boost. - -[heading Basic Includes] - -This section concentrates on how to include __boost_geometry__ headers efficiently. - -['TODO: link header names to files? --mloskot] - -The most convenient headerfile including all algorithms and strategies is `geometry.hpp`: - - #include - -This is the main header of the __boost_geometry__ library and it is recommended to include this file. - -Alternatively, it is possible to include __boost_geometry__ header files separately. However, -this may be inconvenient as header files might be renamed or moved occasionaly in future. - -Another often used header is `geometries.hpp`: - - #include - -This includes definitions of all provided geometry tyoes: __model_point__, linestring, polygon, -linear_ring, box. The `geometries.hpp` is not included in the `geometry.hpp` headerfile because -users should be given the liberty to use their own geometries and not the provided ones. -However, for the __boost_geometry__ users who want to use the provided geometries it is -useful to include it. - -For users using only Cartesian points, with floating point coordinates (of C++ type `double`), -in 2D or 3D, you can use instead: - - #include - -This includes all 2D Cartesian geometries: point_2d, linestring_2d, etc. -Using this header file, the library seems to be a non-template library, so it is convenient -for users who do not feel strong with using and specializing C++ templates on their own. - -For users using multi-geometries: - - #include - -[heading Advanced Includes] - -This section is for users who have their own geometries and want to use algorithms from -the __boost_geometry__ library. - -If you want to use your own points it makes sense to use the registration macro's: - - #include - -Defines preprocessor macros for point geometry types registration. - - #include - -Defines preprocessor macros for box geometry type registration. - -If you are using standard containers containing points and want to handle them as a linestring. - - #include - -Allows you to use things like `std::vector` and put them as parameters into algorithms. - -If you are using boost tuples and want to handle them as Cartesian points - - #include - -[heading Extensions] - -['TODO: Do we want this sub-section here? or moving completely to the Extensions node? --mloskot] - -[section Hints] - -[heading Performance] - -The enumeration below is not exhaustive but can contain hints to improve the performance: - -* For Microsoft __msvc__, set define `_SECURE_SCL=0` for preprocessor. -* For Microsoft __msvc__, set define `_HAS_ITERATOR_DEBUGGING=0` for preprocessor. -* Our measurements indicate that Visual C++ 8.0 generates faster code than Visual C++ 9.0 -* Use of __stlport__, a very popular open-source implementation of the STL, may result in - significantly faster code than use of the C++ standard library provided by __msvc__ compiler. -* Turn on compiler optimizations, compile in release mode. - -[endsect] [/ end of Hints] - -[section:issues Known Problems] - -[heading Problems with Intellisense] - -Both versions of __msvs__, 2005 and 2008 (including Express Edition) can hang trying to resolve -symbols and give [@http://en.wikipedia.org/wiki/IntelliSense IntelliSense] suggestions while -typing in a bracket or angle bracket. -This is not directly related to __boost_geometry__, but is caused by problems with handling by this -IDE large C++ code base with intensively used templates, such as Boost and __boost_geometry__. -If this is inconvenient, IntelliSense can easily be turned off: - -[:['["(...)disabling IntelliSense in VC++. There is a file called `feacp.dll` in -`/VC/vcpackages` folder. Renaming this file will disable Intellisense feature.]] - --- [@http://blogs.msdn.com/yash/archive/2007/09/19/intellisense-issues-in-visual-c-2005.aspx Intellisense issues in Visual C++ 2005] -] - -[endsect] [/ end of Problems] - -[endsect] [/ end of Compilation] [section Performance (?)] ['TODO: how fast we are here...] diff --git a/doc/src/examples/algorithms/append.cpp b/doc/src/examples/algorithms/append.cpp index f4392d645..e3ccd1425 100644 --- a/doc/src/examples/algorithms/append.cpp +++ b/doc/src/examples/algorithms/append.cpp @@ -15,7 +15,7 @@ #include #include -#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/area.cpp b/doc/src/examples/algorithms/area.cpp index 597bec3b4..5b5ef9179 100644 --- a/doc/src/examples/algorithms/area.cpp +++ b/doc/src/examples/algorithms/area.cpp @@ -11,7 +11,10 @@ //` Calculate the area of a polygon #include + #include +#include +#include #include namespace bg = boost::geometry; /*< Convenient namespace alias >*/ diff --git a/doc/src/examples/algorithms/area_with_strategy.cpp b/doc/src/examples/algorithms/area_with_strategy.cpp index cefbf39a2..d47120889 100644 --- a/doc/src/examples/algorithms/area_with_strategy.cpp +++ b/doc/src/examples/algorithms/area_with_strategy.cpp @@ -11,7 +11,10 @@ //` Calculate the area of a polygon #include + #include +#include +#include #include namespace bg = boost::geometry; /*< Convenient namespace alias >*/ diff --git a/doc/src/examples/algorithms/assign.cpp b/doc/src/examples/algorithms/assign.cpp index 94482adb4..aa45a3c58 100644 --- a/doc/src/examples/algorithms/assign.cpp +++ b/doc/src/examples/algorithms/assign.cpp @@ -13,6 +13,9 @@ #include #include +#include +#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/assign_2d_point.cpp b/doc/src/examples/algorithms/assign_2d_point.cpp index f21f47e0e..84dbbe690 100644 --- a/doc/src/examples/algorithms/assign_2d_point.cpp +++ b/doc/src/examples/algorithms/assign_2d_point.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include #if defined(HAVE_TTMATH) # include diff --git a/doc/src/examples/algorithms/assign_3d_point.cpp b/doc/src/examples/algorithms/assign_3d_point.cpp index 094b8869b..d7863ad7d 100644 --- a/doc/src/examples/algorithms/assign_3d_point.cpp +++ b/doc/src/examples/algorithms/assign_3d_point.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include int main() { diff --git a/doc/src/examples/algorithms/assign_box_corners.cpp b/doc/src/examples/algorithms/assign_box_corners.cpp index e74545bed..1cb8d40db 100644 --- a/doc/src/examples/algorithms/assign_box_corners.cpp +++ b/doc/src/examples/algorithms/assign_box_corners.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include using namespace boost::geometry; diff --git a/doc/src/examples/algorithms/assign_inverse.cpp b/doc/src/examples/algorithms/assign_inverse.cpp index 27d1fdf11..06284fed5 100644 --- a/doc/src/examples/algorithms/assign_inverse.cpp +++ b/doc/src/examples/algorithms/assign_inverse.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include using namespace boost::geometry; diff --git a/doc/src/examples/algorithms/assign_point_from_index.cpp b/doc/src/examples/algorithms/assign_point_from_index.cpp index 06a684afe..fb609cba5 100644 --- a/doc/src/examples/algorithms/assign_point_from_index.cpp +++ b/doc/src/examples/algorithms/assign_point_from_index.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include using namespace boost::geometry; diff --git a/doc/src/examples/algorithms/assign_point_to_index.cpp b/doc/src/examples/algorithms/assign_point_to_index.cpp index db73730ef..19ec66faa 100644 --- a/doc/src/examples/algorithms/assign_point_to_index.cpp +++ b/doc/src/examples/algorithms/assign_point_to_index.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include using namespace boost::geometry; diff --git a/doc/src/examples/algorithms/assign_points.cpp b/doc/src/examples/algorithms/assign_points.cpp index d43321da2..aea224a62 100644 --- a/doc/src/examples/algorithms/assign_points.cpp +++ b/doc/src/examples/algorithms/assign_points.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff --git a/doc/src/examples/algorithms/centroid.cpp b/doc/src/examples/algorithms/centroid.cpp index 49bb80cde..ce4380072 100644 --- a/doc/src/examples/algorithms/centroid.cpp +++ b/doc/src/examples/algorithms/centroid.cpp @@ -14,7 +14,8 @@ #include #include -#include +#include +#include #include /*<-*/ #include "create_svg_two.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/clear.cpp b/doc/src/examples/algorithms/clear.cpp index 20f9deba1..5a6de8694 100644 --- a/doc/src/examples/algorithms/clear.cpp +++ b/doc/src/examples/algorithms/clear.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/comparable_distance.cpp b/doc/src/examples/algorithms/comparable_distance.cpp index 64df6d56d..e4d6f7035 100644 --- a/doc/src/examples/algorithms/comparable_distance.cpp +++ b/doc/src/examples/algorithms/comparable_distance.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include diff --git a/doc/src/examples/algorithms/convert.cpp b/doc/src/examples/algorithms/convert.cpp index 6baf27c5a..6ca97d9ad 100644 --- a/doc/src/examples/algorithms/convert.cpp +++ b/doc/src/examples/algorithms/convert.cpp @@ -13,6 +13,9 @@ #include #include +#include +#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/convex_hull.cpp b/doc/src/examples/algorithms/convex_hull.cpp index 2f826e148..df4d35f7f 100644 --- a/doc/src/examples/algorithms/convex_hull.cpp +++ b/doc/src/examples/algorithms/convex_hull.cpp @@ -13,6 +13,7 @@ #include #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/correct.cpp b/doc/src/examples/algorithms/correct.cpp index ec8753dd7..2fac51225 100644 --- a/doc/src/examples/algorithms/correct.cpp +++ b/doc/src/examples/algorithms/correct.cpp @@ -13,6 +13,7 @@ #include #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/difference.cpp b/doc/src/examples/algorithms/difference.cpp index 03f5cf954..2ec6ce5d4 100644 --- a/doc/src/examples/algorithms/difference.cpp +++ b/doc/src/examples/algorithms/difference.cpp @@ -14,7 +14,8 @@ #include #include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/difference_inserter.cpp b/doc/src/examples/algorithms/difference_inserter.cpp index 60d8883ac..17d4f339b 100644 --- a/doc/src/examples/algorithms/difference_inserter.cpp +++ b/doc/src/examples/algorithms/difference_inserter.cpp @@ -14,7 +14,8 @@ #include #include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/distance.cpp b/doc/src/examples/algorithms/distance.cpp index bc77e9f0e..e2067772d 100644 --- a/doc/src/examples/algorithms/distance.cpp +++ b/doc/src/examples/algorithms/distance.cpp @@ -14,8 +14,11 @@ #include #include -#include +#include +#include +#include #include +#include #include diff --git a/doc/src/examples/algorithms/envelope.cpp b/doc/src/examples/algorithms/envelope.cpp index fd310dae2..89f72a612 100644 --- a/doc/src/examples/algorithms/envelope.cpp +++ b/doc/src/examples/algorithms/envelope.cpp @@ -13,7 +13,9 @@ #include #include -#include +#include +#include +#include #include /*<-*/ #include "create_svg_two.hpp" /*->*/ diff --git a/doc/src/examples/algorithms/equals.cpp b/doc/src/examples/algorithms/equals.cpp index 4b8df5f34..414aa38d3 100644 --- a/doc/src/examples/algorithms/equals.cpp +++ b/doc/src/examples/algorithms/equals.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/for_each_point.cpp b/doc/src/examples/algorithms/for_each_point.cpp index f5a42ba55..138086413 100644 --- a/doc/src/examples/algorithms/for_each_point.cpp +++ b/doc/src/examples/algorithms/for_each_point.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include #include diff --git a/doc/src/examples/algorithms/for_each_point_const.cpp b/doc/src/examples/algorithms/for_each_point_const.cpp index 8b29ef1e9..2654e519e 100644 --- a/doc/src/examples/algorithms/for_each_point_const.cpp +++ b/doc/src/examples/algorithms/for_each_point_const.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include #include diff --git a/doc/src/examples/algorithms/for_each_segment_const.cpp b/doc/src/examples/algorithms/for_each_segment_const.cpp index c1ae26236..b17d7417c 100644 --- a/doc/src/examples/algorithms/for_each_segment_const.cpp +++ b/doc/src/examples/algorithms/for_each_segment_const.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include #include diff --git a/doc/src/examples/algorithms/intersection_ls_ls_point.cpp b/doc/src/examples/algorithms/intersection_ls_ls_point.cpp index a4ef55ef6..44bb4d41d 100644 --- a/doc/src/examples/algorithms/intersection_ls_ls_point.cpp +++ b/doc/src/examples/algorithms/intersection_ls_ls_point.cpp @@ -15,6 +15,7 @@ #include #include +#include #include /*< Adapts std::vector to linestring concept >*/ #include diff --git a/doc/src/examples/algorithms/intersection_poly_poly.cpp b/doc/src/examples/algorithms/intersection_poly_poly.cpp index 0966e1446..2274205fe 100644 --- a/doc/src/examples/algorithms/intersection_poly_poly.cpp +++ b/doc/src/examples/algorithms/intersection_poly_poly.cpp @@ -14,7 +14,8 @@ #include #include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/intersection_segment.cpp b/doc/src/examples/algorithms/intersection_segment.cpp index d9a902436..1c59c63b6 100644 --- a/doc/src/examples/algorithms/intersection_segment.cpp +++ b/doc/src/examples/algorithms/intersection_segment.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include /*< Adapts std::vector to linestring concept >*/ diff --git a/doc/src/examples/algorithms/intersects_linestring.cpp b/doc/src/examples/algorithms/intersects_linestring.cpp index 536c649e7..4c72fcda5 100644 --- a/doc/src/examples/algorithms/intersects_linestring.cpp +++ b/doc/src/examples/algorithms/intersects_linestring.cpp @@ -13,6 +13,8 @@ #include #include +#include +#include #include int main() diff --git a/doc/src/examples/algorithms/intersects_segment.cpp b/doc/src/examples/algorithms/intersects_segment.cpp index 9c98a3085..428b34c3f 100644 --- a/doc/src/examples/algorithms/intersects_segment.cpp +++ b/doc/src/examples/algorithms/intersects_segment.cpp @@ -13,6 +13,8 @@ #include #include +#include +#include #include int main() diff --git a/doc/src/examples/algorithms/length.cpp b/doc/src/examples/algorithms/length.cpp index 506a3e6b5..0c6ec9140 100644 --- a/doc/src/examples/algorithms/length.cpp +++ b/doc/src/examples/algorithms/length.cpp @@ -12,6 +12,8 @@ #include #include +#include +#include #include diff --git a/doc/src/examples/algorithms/length_with_strategy.cpp b/doc/src/examples/algorithms/length_with_strategy.cpp index 32eb6d39b..2c68f3ae8 100644 --- a/doc/src/examples/algorithms/length_with_strategy.cpp +++ b/doc/src/examples/algorithms/length_with_strategy.cpp @@ -12,6 +12,7 @@ #include #include +#include int main() { diff --git a/doc/src/examples/algorithms/make_2d_point.cpp b/doc/src/examples/algorithms/make_2d_point.cpp index 8c6189b3b..7e776ae77 100644 --- a/doc/src/examples/algorithms/make_2d_point.cpp +++ b/doc/src/examples/algorithms/make_2d_point.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include #include diff --git a/doc/src/examples/algorithms/make_3d_point.cpp b/doc/src/examples/algorithms/make_3d_point.cpp index 4605bb81a..88349894b 100644 --- a/doc/src/examples/algorithms/make_3d_point.cpp +++ b/doc/src/examples/algorithms/make_3d_point.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include int main() { diff --git a/doc/src/examples/algorithms/make_inverse.cpp b/doc/src/examples/algorithms/make_inverse.cpp index 20dd5fc37..660013655 100644 --- a/doc/src/examples/algorithms/make_inverse.cpp +++ b/doc/src/examples/algorithms/make_inverse.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include using namespace boost::geometry; diff --git a/doc/src/examples/algorithms/make_with_range.cpp b/doc/src/examples/algorithms/make_with_range.cpp index faf97f707..19939f85c 100644 --- a/doc/src/examples/algorithms/make_with_range.cpp +++ b/doc/src/examples/algorithms/make_with_range.cpp @@ -13,6 +13,8 @@ #include #include +#include +#include #include BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) /*< Necessary to register a C array like {1,2} as a point >*/ diff --git a/doc/src/examples/algorithms/num_geometries.cpp b/doc/src/examples/algorithms/num_geometries.cpp index d66735de7..43aa29c8e 100644 --- a/doc/src/examples/algorithms/num_geometries.cpp +++ b/doc/src/examples/algorithms/num_geometries.cpp @@ -13,8 +13,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/num_interior_rings.cpp b/doc/src/examples/algorithms/num_interior_rings.cpp index b6edc4a67..9d8a54108 100644 --- a/doc/src/examples/algorithms/num_interior_rings.cpp +++ b/doc/src/examples/algorithms/num_interior_rings.cpp @@ -13,8 +13,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/num_points.cpp b/doc/src/examples/algorithms/num_points.cpp index be0c1492a..20a0df0e5 100644 --- a/doc/src/examples/algorithms/num_points.cpp +++ b/doc/src/examples/algorithms/num_points.cpp @@ -14,7 +14,8 @@ #include #include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/return_envelope.cpp b/doc/src/examples/algorithms/return_envelope.cpp index cb8914e5d..27701150c 100644 --- a/doc/src/examples/algorithms/return_envelope.cpp +++ b/doc/src/examples/algorithms/return_envelope.cpp @@ -14,7 +14,9 @@ #include -#include +#include +#include +#include #include diff --git a/doc/src/examples/algorithms/reverse.cpp b/doc/src/examples/algorithms/reverse.cpp index f12c72281..ef45f9adf 100644 --- a/doc/src/examples/algorithms/reverse.cpp +++ b/doc/src/examples/algorithms/reverse.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/simplify.cpp b/doc/src/examples/algorithms/simplify.cpp index db4a97bfb..e44c11d0a 100644 --- a/doc/src/examples/algorithms/simplify.cpp +++ b/doc/src/examples/algorithms/simplify.cpp @@ -11,7 +11,10 @@ //` Example showing how to simplify a linestring #include + #include +#include +#include /*< For this example we use Boost.Assign to add points >*/ #include diff --git a/doc/src/examples/algorithms/simplify_insert.cpp b/doc/src/examples/algorithms/simplify_insert.cpp index d93034dfd..d3cb0f2a4 100644 --- a/doc/src/examples/algorithms/simplify_insert.cpp +++ b/doc/src/examples/algorithms/simplify_insert.cpp @@ -11,7 +11,10 @@ //` Simplify a linestring using a back inserter #include + #include +#include +#include int main() { diff --git a/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp b/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp index 3236fee0b..a662e27ff 100644 --- a/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp +++ b/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp @@ -11,7 +11,10 @@ //` Simplify a linestring using an output iterator #include + #include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/sym_difference.cpp b/doc/src/examples/algorithms/sym_difference.cpp index 7f0bf779f..7d122c42f 100644 --- a/doc/src/examples/algorithms/sym_difference.cpp +++ b/doc/src/examples/algorithms/sym_difference.cpp @@ -13,7 +13,8 @@ #include #include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/union.cpp b/doc/src/examples/algorithms/union.cpp index 79c35298a..84ab620c6 100644 --- a/doc/src/examples/algorithms/union.cpp +++ b/doc/src/examples/algorithms/union.cpp @@ -14,7 +14,8 @@ #include #include -#include +#include +#include #include #include diff --git a/doc/src/examples/algorithms/unique.cpp b/doc/src/examples/algorithms/unique.cpp index 1c3511272..6c3455cea 100644 --- a/doc/src/examples/algorithms/unique.cpp +++ b/doc/src/examples/algorithms/unique.cpp @@ -13,6 +13,7 @@ #include #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/algorithms/within.cpp b/doc/src/examples/algorithms/within.cpp index 24d33bdcc..27217f748 100644 --- a/doc/src/examples/algorithms/within.cpp +++ b/doc/src/examples/algorithms/within.cpp @@ -14,7 +14,8 @@ #include #include -#include +#include +#include #include /*<-*/ #include "create_svg_two.hpp" /*->*/ diff --git a/doc/src/examples/core/closure.cpp b/doc/src/examples/core/closure.cpp index db4c5e406..e254f978c 100644 --- a/doc/src/examples/core/closure.cpp +++ b/doc/src/examples/core/closure.cpp @@ -11,7 +11,10 @@ //` Examine if a polygon is defined as "should be closed" #include + #include +#include +#include int main() { diff --git a/doc/src/examples/core/coordinate_dimension.cpp b/doc/src/examples/core/coordinate_dimension.cpp index 47fda0163..1ba7db439 100644 --- a/doc/src/examples/core/coordinate_dimension.cpp +++ b/doc/src/examples/core/coordinate_dimension.cpp @@ -11,7 +11,9 @@ //` Examine the number of coordinates making up the points in a linestring type #include + #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian); diff --git a/doc/src/examples/core/coordinate_system.cpp b/doc/src/examples/core/coordinate_system.cpp index 6969a27a2..cbae9e05e 100644 --- a/doc/src/examples/core/coordinate_system.cpp +++ b/doc/src/examples/core/coordinate_system.cpp @@ -12,7 +12,10 @@ #include #include + #include +#include +#include int main() { diff --git a/doc/src/examples/core/coordinate_type.cpp b/doc/src/examples/core/coordinate_type.cpp index 3fffafa5f..ed7260478 100644 --- a/doc/src/examples/core/coordinate_type.cpp +++ b/doc/src/examples/core/coordinate_type.cpp @@ -12,7 +12,10 @@ #include #include + #include +#include +#include int main() { diff --git a/doc/src/examples/core/get_box.cpp b/doc/src/examples/core/get_box.cpp index 181721267..b0d179a7a 100644 --- a/doc/src/examples/core/get_box.cpp +++ b/doc/src/examples/core/get_box.cpp @@ -11,7 +11,9 @@ //` Get the coordinate of a box #include + #include +#include namespace bg = boost::geometry; diff --git a/doc/src/examples/core/get_point.cpp b/doc/src/examples/core/get_point.cpp index cd0243e52..4af8c0e3c 100644 --- a/doc/src/examples/core/get_point.cpp +++ b/doc/src/examples/core/get_point.cpp @@ -11,7 +11,9 @@ //` Get the coordinate of a point #include + #include +#include namespace bg = boost::geometry; diff --git a/doc/src/examples/core/interior_type.cpp b/doc/src/examples/core/interior_type.cpp index 79b22a914..b9f577903 100644 --- a/doc/src/examples/core/interior_type.cpp +++ b/doc/src/examples/core/interior_type.cpp @@ -12,7 +12,10 @@ #include #include + #include +#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_ARRAY_CS(cs::cartesian) diff --git a/doc/src/examples/core/point_order.cpp b/doc/src/examples/core/point_order.cpp index dede853cd..ff0922354 100644 --- a/doc/src/examples/core/point_order.cpp +++ b/doc/src/examples/core/point_order.cpp @@ -11,7 +11,10 @@ //` Examine the expected point order of a polygon type #include + #include +#include +#include int main() { diff --git a/doc/src/examples/core/point_type.cpp b/doc/src/examples/core/point_type.cpp index 51508511c..357749655 100644 --- a/doc/src/examples/core/point_type.cpp +++ b/doc/src/examples/core/point_type.cpp @@ -12,7 +12,11 @@ #include #include + #include +#include +#include +#include int main() { diff --git a/doc/src/examples/core/ring_type.cpp b/doc/src/examples/core/ring_type.cpp index cae4dfd2b..01446df01 100644 --- a/doc/src/examples/core/ring_type.cpp +++ b/doc/src/examples/core/ring_type.cpp @@ -12,7 +12,10 @@ #include #include + #include +#include +#include int main() { diff --git a/doc/src/examples/core/rings.cpp b/doc/src/examples/core/rings.cpp index 30a32b86f..555370d88 100644 --- a/doc/src/examples/core/rings.cpp +++ b/doc/src/examples/core/rings.cpp @@ -15,7 +15,10 @@ Also shows the related ring_type and interior_type. */ #include + #include +#include +#include int main() diff --git a/doc/src/examples/core/set_box.cpp b/doc/src/examples/core/set_box.cpp index 1c56572b1..ae1db4877 100644 --- a/doc/src/examples/core/set_box.cpp +++ b/doc/src/examples/core/set_box.cpp @@ -11,7 +11,9 @@ //` Set the coordinate of a box #include + #include +#include namespace bg = boost::geometry; diff --git a/doc/src/examples/core/set_point.cpp b/doc/src/examples/core/set_point.cpp index 39520c921..d4a627d63 100644 --- a/doc/src/examples/core/set_point.cpp +++ b/doc/src/examples/core/set_point.cpp @@ -11,7 +11,9 @@ //` Set the coordinate of a point #include + #include +#include namespace bg = boost::geometry; diff --git a/doc/src/examples/core/tag.cpp b/doc/src/examples/core/tag.cpp index 215e77f23..86e8f5a83 100644 --- a/doc/src/examples/core/tag.cpp +++ b/doc/src/examples/core/tag.cpp @@ -15,6 +15,8 @@ #include #include +#include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/core/tag_cast.cpp b/doc/src/examples/core/tag_cast.cpp index f33345706..019e1edd1 100644 --- a/doc/src/examples/core/tag_cast.cpp +++ b/doc/src/examples/core/tag_cast.cpp @@ -12,7 +12,10 @@ #include #include + #include +#include +#include namespace geo = boost::geometry; int main() diff --git a/doc/src/examples/geometries/adapted/boost_array.cpp b/doc/src/examples/geometries/adapted/boost_array.cpp index 99aa8a3d7..b1237318f 100644 --- a/doc/src/examples/geometries/adapted/boost_array.cpp +++ b/doc/src/examples/geometries/adapted/boost_array.cpp @@ -11,7 +11,9 @@ //` Shows how to use a Boost.Array using Boost.Geometry's distance, set and assign_values algorithms #include + #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_ARRAY_CS(cs::cartesian) diff --git a/doc/src/examples/geometries/adapted/boost_range/filtered.cpp b/doc/src/examples/geometries/adapted/boost_range/filtered.cpp index e215594d0..bdf05ef0c 100644 --- a/doc/src/examples/geometries/adapted/boost_range/filtered.cpp +++ b/doc/src/examples/geometries/adapted/boost_range/filtered.cpp @@ -11,7 +11,10 @@ //` Shows how to use a Boost.Geometry linestring, filtered by Boost.Range adaptor #include + #include +#include +#include #include struct not_two diff --git a/doc/src/examples/geometries/adapted/boost_range/reversed.cpp b/doc/src/examples/geometries/adapted/boost_range/reversed.cpp index 5bdf5e2ce..6ba3a6b79 100644 --- a/doc/src/examples/geometries/adapted/boost_range/reversed.cpp +++ b/doc/src/examples/geometries/adapted/boost_range/reversed.cpp @@ -11,7 +11,10 @@ //` Shows how to use a Boost.Geometry linestring, reversed by Boost.Range adaptor #include + #include +#include +#include #include int main() diff --git a/doc/src/examples/geometries/adapted/boost_range/sliced.cpp b/doc/src/examples/geometries/adapted/boost_range/sliced.cpp index eb65621f2..d4fe398af 100644 --- a/doc/src/examples/geometries/adapted/boost_range/sliced.cpp +++ b/doc/src/examples/geometries/adapted/boost_range/sliced.cpp @@ -15,6 +15,8 @@ #include #include +#include +#include #include diff --git a/doc/src/examples/geometries/adapted/boost_range/strided.cpp b/doc/src/examples/geometries/adapted/boost_range/strided.cpp index 08ae880f6..2472337f5 100644 --- a/doc/src/examples/geometries/adapted/boost_range/strided.cpp +++ b/doc/src/examples/geometries/adapted/boost_range/strided.cpp @@ -15,6 +15,8 @@ #include #include +#include +#include #include diff --git a/doc/src/examples/geometries/adapted/boost_range/uniqued.cpp b/doc/src/examples/geometries/adapted/boost_range/uniqued.cpp index 1d75c6980..f0cd9b01e 100644 --- a/doc/src/examples/geometries/adapted/boost_range/uniqued.cpp +++ b/doc/src/examples/geometries/adapted/boost_range/uniqued.cpp @@ -15,6 +15,8 @@ #include #include +#include +#include #include typedef boost::geometry::model::d2::point_xy xy; diff --git a/doc/src/examples/geometries/adapted/boost_tuple.cpp b/doc/src/examples/geometries/adapted/boost_tuple.cpp index 67a51836d..1ff67be3f 100644 --- a/doc/src/examples/geometries/adapted/boost_tuple.cpp +++ b/doc/src/examples/geometries/adapted/boost_tuple.cpp @@ -17,7 +17,9 @@ various other examples as well. */ #include + #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) diff --git a/doc/src/examples/geometries/register/box_templated.cpp b/doc/src/examples/geometries/register/box_templated.cpp index 72e0a589f..1b0378f74 100644 --- a/doc/src/examples/geometries/register/box_templated.cpp +++ b/doc/src/examples/geometries/register/box_templated.cpp @@ -11,7 +11,9 @@ //` Show the use of the macro BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED #include + #include +#include #include template diff --git a/doc/src/examples/geometries/register/linestring.cpp b/doc/src/examples/geometries/register/linestring.cpp index bbbbe0b48..f810d3eb2 100644 --- a/doc/src/examples/geometries/register/linestring.cpp +++ b/doc/src/examples/geometries/register/linestring.cpp @@ -11,7 +11,9 @@ //` Show the use of BOOST_GEOMETRY_REGISTER_LINESTRING #include + #include +#include #include typedef boost::geometry::model::d2::point_xy point_2d; diff --git a/doc/src/examples/geometries/register/linestring_templated.cpp b/doc/src/examples/geometries/register/linestring_templated.cpp index 221c61a58..188df627b 100644 --- a/doc/src/examples/geometries/register/linestring_templated.cpp +++ b/doc/src/examples/geometries/register/linestring_templated.cpp @@ -12,7 +12,9 @@ #include #include + #include +#include #include // Adapt any deque to Boost.Geometry Linestring Concept diff --git a/doc/src/examples/geometries/register/multi_linestring.cpp b/doc/src/examples/geometries/register/multi_linestring.cpp index ab72a92cf..56b71dddb 100644 --- a/doc/src/examples/geometries/register/multi_linestring.cpp +++ b/doc/src/examples/geometries/register/multi_linestring.cpp @@ -11,7 +11,9 @@ //` Show the use of the macro BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING #include + #include +#include #include #include diff --git a/doc/src/examples/geometries/register/multi_polygon.cpp b/doc/src/examples/geometries/register/multi_polygon.cpp index db6a3130d..aa89e73e1 100644 --- a/doc/src/examples/geometries/register/multi_polygon.cpp +++ b/doc/src/examples/geometries/register/multi_polygon.cpp @@ -11,7 +11,9 @@ //` Show the use of the macro BOOST_GEOMETRY_REGISTER_MULTI_POLYGON #include + #include +#include #include #include diff --git a/doc/src/examples/geometries/register/ring.cpp b/doc/src/examples/geometries/register/ring.cpp index bad0e3a54..0b550521d 100644 --- a/doc/src/examples/geometries/register/ring.cpp +++ b/doc/src/examples/geometries/register/ring.cpp @@ -11,7 +11,9 @@ //` Show the use of the macro BOOST_GEOMETRY_REGISTER_RING #include + #include +#include #include typedef boost::geometry::model::d2::point_xy point_2d; diff --git a/doc/src/examples/geometries/register/ring_templated.cpp b/doc/src/examples/geometries/register/ring_templated.cpp index 13308ef3d..28a4d5d2f 100644 --- a/doc/src/examples/geometries/register/ring_templated.cpp +++ b/doc/src/examples/geometries/register/ring_templated.cpp @@ -12,7 +12,9 @@ #include #include + #include +#include #include // Adapt any deque to Boost.Geometry Ring Concept diff --git a/doc/src/examples/quick_start.cpp b/doc/src/examples/quick_start.cpp index b246afad0..ff96b19c7 100644 --- a/doc/src/examples/quick_start.cpp +++ b/doc/src/examples/quick_start.cpp @@ -22,6 +22,8 @@ //[quickstart_include #include +#include +#include using namespace boost::geometry; //] diff --git a/example/01_point_example.cpp b/example/01_point_example.cpp index 6d5e782b4..b9e9c6342 100644 --- a/example/01_point_example.cpp +++ b/example/01_point_example.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/example/02_linestring_example.cpp b/example/02_linestring_example.cpp index 8315d1761..ca9b3d27f 100644 --- a/example/02_linestring_example.cpp +++ b/example/02_linestring_example.cpp @@ -17,9 +17,13 @@ #include #include +#include +#include +#include // Optional includes to handle c-arrays as points, std::vectors as linestrings #include #include + BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) diff --git a/example/03_polygon_example.cpp b/example/03_polygon_example.cpp index e817fa261..cd7bdfd6a 100644 --- a/example/03_polygon_example.cpp +++ b/example/03_polygon_example.cpp @@ -15,9 +15,11 @@ #include #include +#include +#include #include #include -#include +#include BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) diff --git a/example/04_boost_example.cpp b/example/04_boost_example.cpp index f6d56cdfe..a92295552 100644 --- a/example/04_boost_example.cpp +++ b/example/04_boost_example.cpp @@ -13,6 +13,9 @@ #include #include +#include +#include +#include #include #include diff --git a/example/05_a_overlay_polygon_example.cpp b/example/05_a_overlay_polygon_example.cpp index 6a81221b1..a5a4c5b43 100644 --- a/example/05_a_overlay_polygon_example.cpp +++ b/example/05_a_overlay_polygon_example.cpp @@ -19,6 +19,8 @@ #include +#include +#include #include #if defined(HAVE_SVG) diff --git a/example/05_b_overlay_linestring_polygon_example.cpp b/example/05_b_overlay_linestring_polygon_example.cpp index 118026603..3f90c8f71 100644 --- a/example/05_b_overlay_linestring_polygon_example.cpp +++ b/example/05_b_overlay_linestring_polygon_example.cpp @@ -19,6 +19,9 @@ #include +#include +#include +#include #include #if defined(HAVE_SVG) diff --git a/example/06_a_transformation_example.cpp b/example/06_a_transformation_example.cpp index 3c5f6f9b0..6abb7ea79 100644 --- a/example/06_a_transformation_example.cpp +++ b/example/06_a_transformation_example.cpp @@ -13,6 +13,8 @@ #include #include +#include +#include #include #include diff --git a/example/06_b_transformation_example.cpp b/example/06_b_transformation_example.cpp index 0b6a0542b..6580f65a5 100644 --- a/example/06_b_transformation_example.cpp +++ b/example/06_b_transformation_example.cpp @@ -16,6 +16,8 @@ #include #include +#include +#include #include #include #include diff --git a/example/07_a_graph_route_example.cpp b/example/07_a_graph_route_example.cpp index 4ea9c5ae8..929af00a1 100644 --- a/example/07_a_graph_route_example.cpp +++ b/example/07_a_graph_route_example.cpp @@ -24,6 +24,7 @@ #include #include +#include #include diff --git a/example/07_b_graph_route_example.cpp b/example/07_b_graph_route_example.cpp index 64f4844c9..17dbea3a6 100644 --- a/example/07_b_graph_route_example.cpp +++ b/example/07_b_graph_route_example.cpp @@ -28,6 +28,7 @@ #include #include +#include #include diff --git a/example/c04_a_custom_triangle_example.cpp b/example/c04_a_custom_triangle_example.cpp index ce2a53e15..be1e0ac49 100644 --- a/example/c04_a_custom_triangle_example.cpp +++ b/example/c04_a_custom_triangle_example.cpp @@ -16,6 +16,7 @@ #include #include +#include #include #include #include diff --git a/example/c05_custom_point_pointer_example.cpp b/example/c05_custom_point_pointer_example.cpp index d3787df7e..9819c0f81 100644 --- a/example/c05_custom_point_pointer_example.cpp +++ b/example/c05_custom_point_pointer_example.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/example/with_external_libs/x04_wxwidgets_world_mapper.cpp b/example/with_external_libs/x04_wxwidgets_world_mapper.cpp index b09f3f3b7..dab9d99a7 100644 --- a/example/with_external_libs/x04_wxwidgets_world_mapper.cpp +++ b/example/with_external_libs/x04_wxwidgets_world_mapper.cpp @@ -18,6 +18,7 @@ #include #include +#include #include #include #include diff --git a/example/with_external_libs/x05_shapelib_example.cpp b/example/with_external_libs/x05_shapelib_example.cpp index a136240e1..8fbfe5e0d 100644 --- a/example/with_external_libs/x05_shapelib_example.cpp +++ b/example/with_external_libs/x05_shapelib_example.cpp @@ -20,6 +20,7 @@ #include "shapefil.h" #include +#include #include using namespace boost::geometry; diff --git a/example/with_external_libs/x06_qt_world_mapper.cpp b/example/with_external_libs/x06_qt_world_mapper.cpp index ebf788c95..0f8e45281 100644 --- a/example/with_external_libs/x06_qt_world_mapper.cpp +++ b/example/with_external_libs/x06_qt_world_mapper.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include diff --git a/example_extensions/experimental/geometry_of.cpp b/example_extensions/experimental/geometry_of.cpp index 71626c2f1..4c14caa73 100644 --- a/example_extensions/experimental/geometry_of.cpp +++ b/example_extensions/experimental/geometry_of.cpp @@ -21,6 +21,7 @@ #include +#include #include namespace bg = boost::geometry; diff --git a/example_extensions/gis/latlong/distance_example.cpp b/example_extensions/gis/latlong/distance_example.cpp index c1279db28..4ddaa4a07 100644 --- a/example_extensions/gis/latlong/distance_example.cpp +++ b/example_extensions/gis/latlong/distance_example.cpp @@ -16,6 +16,8 @@ #include +#include + #include #include #include diff --git a/example_extensions/gis/projections/p01_projection_example.cpp b/example_extensions/gis/projections/p01_projection_example.cpp index 5692867e2..95fae63e4 100644 --- a/example_extensions/gis/projections/p01_projection_example.cpp +++ b/example_extensions/gis/projections/p01_projection_example.cpp @@ -9,6 +9,7 @@ // Projection example 1, direct #include +#include #include #include #include diff --git a/example_extensions/gis/projections/p02_projfactory_example.cpp b/example_extensions/gis/projections/p02_projfactory_example.cpp index 469fb7c81..627eb3cd6 100644 --- a/example_extensions/gis/projections/p02_projfactory_example.cpp +++ b/example_extensions/gis/projections/p02_projfactory_example.cpp @@ -9,6 +9,7 @@ // Projection example 2, using factory #include +#include #include #include #include diff --git a/example_extensions/gis/projections/p03_projmap_example.cpp b/example_extensions/gis/projections/p03_projmap_example.cpp index 48f65c245..92f633f0f 100644 --- a/example_extensions/gis/projections/p03_projmap_example.cpp +++ b/example_extensions/gis/projections/p03_projmap_example.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include #include diff --git a/test/algorithms/area.cpp b/test/algorithms/area.cpp index c3d56a63e..4ed4e7009 100644 --- a/test/algorithms/area.cpp +++ b/test/algorithms/area.cpp @@ -17,6 +17,7 @@ #include +#include #include #include #include diff --git a/test/algorithms/centroid.cpp b/test/algorithms/centroid.cpp index fab082b06..4781c6c6a 100644 --- a/test/algorithms/centroid.cpp +++ b/test/algorithms/centroid.cpp @@ -15,6 +15,7 @@ #include #include +#include #include #include diff --git a/test/algorithms/convex_hull.cpp b/test/algorithms/convex_hull.cpp index d520a9afc..f36e15391 100644 --- a/test/algorithms/convex_hull.cpp +++ b/test/algorithms/convex_hull.cpp @@ -18,6 +18,7 @@ #include #include +#include template diff --git a/test/algorithms/detail/partition.cpp b/test/algorithms/detail/partition.cpp index 11c689943..339e93605 100644 --- a/test/algorithms/detail/partition.cpp +++ b/test/algorithms/detail/partition.cpp @@ -12,6 +12,7 @@ #include #include +#include #include #include diff --git a/test/algorithms/detail/sections/range_by_section.cpp b/test/algorithms/detail/sections/range_by_section.cpp index 920e95e82..f0643f929 100644 --- a/test/algorithms/detail/sections/range_by_section.cpp +++ b/test/algorithms/detail/sections/range_by_section.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include diff --git a/test/algorithms/detail/sections/sectionalize.cpp b/test/algorithms/detail/sections/sectionalize.cpp index 7071e051e..a52d5b2ef 100644 --- a/test/algorithms/detail/sections/sectionalize.cpp +++ b/test/algorithms/detail/sections/sectionalize.cpp @@ -22,9 +22,11 @@ #include #include #include +#include #include #include + #include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/difference.cpp b/test/algorithms/difference.cpp index c1564d20b..7787dea3d 100644 --- a/test/algorithms/difference.cpp +++ b/test/algorithms/difference.cpp @@ -23,6 +23,8 @@ #include #include +#include + //#include //#include diff --git a/test/algorithms/disjoint.cpp b/test/algorithms/disjoint.cpp index 4e326236b..08084eca9 100644 --- a/test/algorithms/disjoint.cpp +++ b/test/algorithms/disjoint.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include diff --git a/test/algorithms/distance.cpp b/test/algorithms/distance.cpp index bce602e41..9cb34ba35 100644 --- a/test/algorithms/distance.cpp +++ b/test/algorithms/distance.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include #include diff --git a/test/algorithms/envelope.cpp b/test/algorithms/envelope.cpp index 3896b34b3..27d5f578a 100644 --- a/test/algorithms/envelope.cpp +++ b/test/algorithms/envelope.cpp @@ -16,6 +16,7 @@ #include #include +#include #include #include #include diff --git a/test/algorithms/equals.cpp b/test/algorithms/equals.cpp index 989489a74..7038a00e5 100644 --- a/test/algorithms/equals.cpp +++ b/test/algorithms/equals.cpp @@ -8,6 +8,7 @@ #include #include +#include diff --git a/test/algorithms/intersection.cpp b/test/algorithms/intersection.cpp index 1e8814d4d..815d107ad 100644 --- a/test/algorithms/intersection.cpp +++ b/test/algorithms/intersection.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include diff --git a/test/algorithms/intersects.cpp b/test/algorithms/intersects.cpp index 769827c46..4e71452f2 100644 --- a/test/algorithms/intersects.cpp +++ b/test/algorithms/intersects.cpp @@ -9,6 +9,7 @@ #include +#include template diff --git a/test/algorithms/length.cpp b/test/algorithms/length.cpp index 1700881e4..151703758 100644 --- a/test/algorithms/length.cpp +++ b/test/algorithms/length.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include diff --git a/test/algorithms/overlaps.cpp b/test/algorithms/overlaps.cpp index d49404e99..5eff2e12b 100644 --- a/test/algorithms/overlaps.cpp +++ b/test/algorithms/overlaps.cpp @@ -9,6 +9,7 @@ #include +#include template diff --git a/test/algorithms/overlay/assemble.cpp b/test/algorithms/overlay/assemble.cpp index a566bfc95..638b7e571 100644 --- a/test/algorithms/overlay/assemble.cpp +++ b/test/algorithms/overlay/assemble.cpp @@ -24,6 +24,7 @@ #include #include +#include #include diff --git a/test/algorithms/overlay/ccw_traverse.cpp b/test/algorithms/overlay/ccw_traverse.cpp index ffd74e39f..82f9d3b1e 100644 --- a/test/algorithms/overlay/ccw_traverse.cpp +++ b/test/algorithms/overlay/ccw_traverse.cpp @@ -16,6 +16,7 @@ #include #include +#include #include #if defined(TEST_WITH_SVG) diff --git a/test/algorithms/overlay/dissolver.cpp b/test/algorithms/overlay/dissolver.cpp index 2c298dc59..00b9ac87f 100644 --- a/test/algorithms/overlay/dissolver.cpp +++ b/test/algorithms/overlay/dissolver.cpp @@ -16,6 +16,7 @@ #include #include +#include #include #include #include diff --git a/test/algorithms/overlay/relative_order.cpp b/test/algorithms/overlay/relative_order.cpp index 5101347d6..b8b7ec798 100644 --- a/test/algorithms/overlay/relative_order.cpp +++ b/test/algorithms/overlay/relative_order.cpp @@ -20,6 +20,8 @@ #include #include +#include + #if defined(TEST_WITH_SVG) # include #endif diff --git a/test/algorithms/overlay/robustness/random_ellipses_stars.cpp b/test/algorithms/overlay/robustness/random_ellipses_stars.cpp index 40d7f7a55..94ce0239b 100644 --- a/test/algorithms/overlay/robustness/random_ellipses_stars.cpp +++ b/test/algorithms/overlay/robustness/random_ellipses_stars.cpp @@ -29,6 +29,8 @@ #include +#include + struct star_params { diff --git a/test/algorithms/overlay/robustness/recursive_polygons.cpp b/test/algorithms/overlay/robustness/recursive_polygons.cpp index 9153170d2..e861ceb7f 100644 --- a/test/algorithms/overlay/robustness/recursive_polygons.cpp +++ b/test/algorithms/overlay/robustness/recursive_polygons.cpp @@ -28,6 +28,7 @@ #include #include +#include #include #include #include diff --git a/test/algorithms/overlay/robustness/star_comb.cpp b/test/algorithms/overlay/robustness/star_comb.cpp index 445270997..bef2284fb 100644 --- a/test/algorithms/overlay/robustness/star_comb.cpp +++ b/test/algorithms/overlay/robustness/star_comb.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include #include diff --git a/test/algorithms/overlay/robustness/test_overlay_p_q.hpp b/test/algorithms/overlay/robustness/test_overlay_p_q.hpp index 2607113f5..5252506c0 100644 --- a/test/algorithms/overlay/robustness/test_overlay_p_q.hpp +++ b/test/algorithms/overlay/robustness/test_overlay_p_q.hpp @@ -25,6 +25,8 @@ #include #include +#include + #include #include diff --git a/test/algorithms/overlay/select_rings.cpp b/test/algorithms/overlay/select_rings.cpp index e547b8a1a..e9dcad5e7 100644 --- a/test/algorithms/overlay/select_rings.cpp +++ b/test/algorithms/overlay/select_rings.cpp @@ -15,6 +15,9 @@ #include #include +#include +#include + #include #include diff --git a/test/algorithms/overlay/self_intersection_points.cpp b/test/algorithms/overlay/self_intersection_points.cpp index 7425ec4ac..abdcdea8f 100644 --- a/test/algorithms/overlay/self_intersection_points.cpp +++ b/test/algorithms/overlay/self_intersection_points.cpp @@ -24,6 +24,8 @@ //#include #include +#include + #include #include diff --git a/test/algorithms/overlay/split_rings.cpp b/test/algorithms/overlay/split_rings.cpp index 9495a9b35..229649fbb 100644 --- a/test/algorithms/overlay/split_rings.cpp +++ b/test/algorithms/overlay/split_rings.cpp @@ -21,6 +21,8 @@ #include #include +#include + #include #include diff --git a/test/algorithms/overlay/traverse_gmp.cpp b/test/algorithms/overlay/traverse_gmp.cpp index 58cbd4ef3..b8d6a4272 100644 --- a/test/algorithms/overlay/traverse_gmp.cpp +++ b/test/algorithms/overlay/traverse_gmp.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include diff --git a/test/algorithms/perimeter.cpp b/test/algorithms/perimeter.cpp index 66fdbfcb4..c564d9765 100644 --- a/test/algorithms/perimeter.cpp +++ b/test/algorithms/perimeter.cpp @@ -9,6 +9,7 @@ #include +#include #include diff --git a/test/algorithms/reverse.cpp b/test/algorithms/reverse.cpp index 509ecbd81..777401461 100644 --- a/test/algorithms/reverse.cpp +++ b/test/algorithms/reverse.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include diff --git a/test/algorithms/simplify.cpp b/test/algorithms/simplify.cpp index bebdd6d9d..2555a638e 100644 --- a/test/algorithms/simplify.cpp +++ b/test/algorithms/simplify.cpp @@ -17,7 +17,7 @@ #include #include - +#include #include #include diff --git a/test/algorithms/transform.cpp b/test/algorithms/transform.cpp index af8ba28c7..c8b02e394 100644 --- a/test/algorithms/transform.cpp +++ b/test/algorithms/transform.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/test/algorithms/union.cpp b/test/algorithms/union.cpp index 6f150232c..95d079f1b 100644 --- a/test/algorithms/union.cpp +++ b/test/algorithms/union.cpp @@ -23,6 +23,7 @@ #include #include +#include static std::string javier4[2] = { diff --git a/test/algorithms/unique.cpp b/test/algorithms/unique.cpp index 1446bc713..02900f8a5 100644 --- a/test/algorithms/unique.cpp +++ b/test/algorithms/unique.cpp @@ -10,6 +10,7 @@ #include #include +#include diff --git a/test/algorithms/within.cpp b/test/algorithms/within.cpp index 9020c364d..ad59f4d78 100644 --- a/test/algorithms/within.cpp +++ b/test/algorithms/within.cpp @@ -9,6 +9,7 @@ #include +#include template diff --git a/test/geometries/boost_polygon_overlay.cpp b/test/geometries/boost_polygon_overlay.cpp index d18e2a472..1d15a0a9b 100644 --- a/test/geometries/boost_polygon_overlay.cpp +++ b/test/geometries/boost_polygon_overlay.cpp @@ -11,6 +11,7 @@ #include +#include #include #include #include diff --git a/test/geometries/boost_range.cpp b/test/geometries/boost_range.cpp index 50cc43c88..541b81ef4 100644 --- a/test/geometries/boost_range.cpp +++ b/test/geometries/boost_range.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/test/iterators/closing_iterator.cpp b/test/iterators/closing_iterator.cpp index 9b3db2b5a..da4ed95c5 100644 --- a/test/iterators/closing_iterator.cpp +++ b/test/iterators/closing_iterator.cpp @@ -24,6 +24,7 @@ #include #include #include +#include // The closing iterator should also work on normal std:: containers diff --git a/test/iterators/ever_circling_iterator.cpp b/test/iterators/ever_circling_iterator.cpp index b68d35a64..6bbb49c28 100644 --- a/test/iterators/ever_circling_iterator.cpp +++ b/test/iterators/ever_circling_iterator.cpp @@ -22,6 +22,7 @@ #include #include #include +#include template void test_geometry(std::string const& wkt) diff --git a/test/multi/algorithms/multi_area.cpp b/test/multi/algorithms/multi_area.cpp index bf5b13c1e..1dd13b283 100644 --- a/test/multi/algorithms/multi_area.cpp +++ b/test/multi/algorithms/multi_area.cpp @@ -11,6 +11,8 @@ #include #include +#include +#include #include diff --git a/test/multi/algorithms/multi_centroid.cpp b/test/multi/algorithms/multi_centroid.cpp index dc58bef3c..2606f687f 100644 --- a/test/multi/algorithms/multi_centroid.cpp +++ b/test/multi/algorithms/multi_centroid.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include diff --git a/test/multi/algorithms/multi_convex_hull.cpp b/test/multi/algorithms/multi_convex_hull.cpp index c649c0b90..e0e669bf9 100644 --- a/test/multi/algorithms/multi_convex_hull.cpp +++ b/test/multi/algorithms/multi_convex_hull.cpp @@ -19,6 +19,7 @@ #include #include +#include #include diff --git a/test/multi/algorithms/multi_difference.cpp b/test/multi/algorithms/multi_difference.cpp index e93a9f4af..fe6a8fcd7 100644 --- a/test/multi/algorithms/multi_difference.cpp +++ b/test/multi/algorithms/multi_difference.cpp @@ -21,6 +21,7 @@ #include #include // only for testing #77 +#include #include #include #include diff --git a/test/multi/algorithms/multi_distance.cpp b/test/multi/algorithms/multi_distance.cpp index 702f0347f..e47168496 100644 --- a/test/multi/algorithms/multi_distance.cpp +++ b/test/multi/algorithms/multi_distance.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include #include diff --git a/test/multi/algorithms/multi_envelope.cpp b/test/multi/algorithms/multi_envelope.cpp index c84ea9e82..31f69a3d4 100644 --- a/test/multi/algorithms/multi_envelope.cpp +++ b/test/multi/algorithms/multi_envelope.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include #include diff --git a/test/multi/algorithms/multi_equals.cpp b/test/multi/algorithms/multi_equals.cpp index 95eb3a05b..75f203c4e 100644 --- a/test/multi/algorithms/multi_equals.cpp +++ b/test/multi/algorithms/multi_equals.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include diff --git a/test/multi/algorithms/multi_for_each.cpp b/test/multi/algorithms/multi_for_each.cpp index b5fd7d566..c47f6d23b 100644 --- a/test/multi/algorithms/multi_for_each.cpp +++ b/test/multi/algorithms/multi_for_each.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include diff --git a/test/multi/algorithms/multi_intersection.cpp b/test/multi/algorithms/multi_intersection.cpp index 087b9f791..be8821cd5 100644 --- a/test/multi/algorithms/multi_intersection.cpp +++ b/test/multi/algorithms/multi_intersection.cpp @@ -20,6 +20,7 @@ #include #include // only for testing #77 +#include #include #include #include diff --git a/test/multi/algorithms/multi_length.cpp b/test/multi/algorithms/multi_length.cpp index 65ee8621e..5618cfff2 100644 --- a/test/multi/algorithms/multi_length.cpp +++ b/test/multi/algorithms/multi_length.cpp @@ -11,6 +11,8 @@ #include #include +#include +#include #include diff --git a/test/multi/algorithms/multi_num_geometries.cpp b/test/multi/algorithms/multi_num_geometries.cpp index e2bd8798e..54dacb648 100644 --- a/test/multi/algorithms/multi_num_geometries.cpp +++ b/test/multi/algorithms/multi_num_geometries.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/test/multi/algorithms/multi_num_interior_rings.cpp b/test/multi/algorithms/multi_num_interior_rings.cpp index eb56e6c9e..4350fafbf 100644 --- a/test/multi/algorithms/multi_num_interior_rings.cpp +++ b/test/multi/algorithms/multi_num_interior_rings.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/test/multi/algorithms/multi_num_points.cpp b/test/multi/algorithms/multi_num_points.cpp index 6bc95d01d..6109cd80e 100644 --- a/test/multi/algorithms/multi_num_points.cpp +++ b/test/multi/algorithms/multi_num_points.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/test/multi/algorithms/multi_perimeter.cpp b/test/multi/algorithms/multi_perimeter.cpp index 1cc823f32..a075a90ba 100644 --- a/test/multi/algorithms/multi_perimeter.cpp +++ b/test/multi/algorithms/multi_perimeter.cpp @@ -12,6 +12,7 @@ #include +#include #include #include diff --git a/test/multi/algorithms/multi_reverse.cpp b/test/multi/algorithms/multi_reverse.cpp index 301be3fdb..82ec7d55e 100644 --- a/test/multi/algorithms/multi_reverse.cpp +++ b/test/multi/algorithms/multi_reverse.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include diff --git a/test/multi/algorithms/multi_simplify.cpp b/test/multi/algorithms/multi_simplify.cpp index 816fe3faa..09a836178 100644 --- a/test/multi/algorithms/multi_simplify.cpp +++ b/test/multi/algorithms/multi_simplify.cpp @@ -17,6 +17,8 @@ #include #include +#include + #include #include #include diff --git a/test/multi/algorithms/multi_transform.cpp b/test/multi/algorithms/multi_transform.cpp index ebc58cb0d..5f79f9606 100644 --- a/test/multi/algorithms/multi_transform.cpp +++ b/test/multi/algorithms/multi_transform.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include diff --git a/test/multi/algorithms/multi_union.cpp b/test/multi/algorithms/multi_union.cpp index 498602346..0a8a2fd9a 100644 --- a/test/multi/algorithms/multi_union.cpp +++ b/test/multi/algorithms/multi_union.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include diff --git a/test/multi/algorithms/multi_unique.cpp b/test/multi/algorithms/multi_unique.cpp index a6a127adf..a0aee93d2 100644 --- a/test/multi/algorithms/multi_unique.cpp +++ b/test/multi/algorithms/multi_unique.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include diff --git a/test/multi/algorithms/multi_within.cpp b/test/multi/algorithms/multi_within.cpp index 9c02145bd..a3815b686 100644 --- a/test/multi/algorithms/multi_within.cpp +++ b/test/multi/algorithms/multi_within.cpp @@ -18,6 +18,7 @@ #include #include +#include #include #include diff --git a/test/views/closeable_view.cpp b/test/views/closeable_view.cpp index 991836eac..96849f7e4 100644 --- a/test/views/closeable_view.cpp +++ b/test/views/closeable_view.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian); diff --git a/test/views/reversible_closeable.cpp b/test/views/reversible_closeable.cpp index 87e0dc38d..6d4b11880 100644 --- a/test/views/reversible_closeable.cpp +++ b/test/views/reversible_closeable.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian); diff --git a/test/views/reversible_view.cpp b/test/views/reversible_view.cpp index 42ae5c339..ea124781b 100644 --- a/test/views/reversible_view.cpp +++ b/test/views/reversible_view.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian); diff --git a/test/views/segment_view.cpp b/test/views/segment_view.cpp index a56188771..5761da996 100644 --- a/test/views/segment_view.cpp +++ b/test/views/segment_view.cpp @@ -15,6 +15,7 @@ #include #include +#include #include #include diff --git a/test_extensions/algorithms/connect.cpp b/test_extensions/algorithms/connect.cpp index 6fc59f203..0f0eda247 100644 --- a/test_extensions/algorithms/connect.cpp +++ b/test_extensions/algorithms/connect.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include diff --git a/test_extensions/algorithms/dissolve.cpp b/test_extensions/algorithms/dissolve.cpp index 3838aeaaa..a49b98f11 100644 --- a/test_extensions/algorithms/dissolve.cpp +++ b/test_extensions/algorithms/dissolve.cpp @@ -22,6 +22,7 @@ #include #include +#include #include diff --git a/test_extensions/algorithms/is_convex.cpp b/test_extensions/algorithms/is_convex.cpp index df97a545e..e01338053 100644 --- a/test_extensions/algorithms/is_convex.cpp +++ b/test_extensions/algorithms/is_convex.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include diff --git a/test_extensions/algorithms/mark_spikes.cpp b/test_extensions/algorithms/mark_spikes.cpp index 9a326d444..1ea18ec38 100644 --- a/test_extensions/algorithms/mark_spikes.cpp +++ b/test_extensions/algorithms/mark_spikes.cpp @@ -16,6 +16,7 @@ #include #include +#include #include #include diff --git a/test_extensions/algorithms/midpoints.cpp b/test_extensions/algorithms/midpoints.cpp index b7070f178..ebed64036 100644 --- a/test_extensions/algorithms/midpoints.cpp +++ b/test_extensions/algorithms/midpoints.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include diff --git a/test_extensions/algorithms/offset.cpp b/test_extensions/algorithms/offset.cpp index e98ece407..f1c2e3aac 100644 --- a/test_extensions/algorithms/offset.cpp +++ b/test_extensions/algorithms/offset.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include diff --git a/test_extensions/algorithms/remove_holes_if.cpp b/test_extensions/algorithms/remove_holes_if.cpp index 353adeafc..2b7a1fb11 100644 --- a/test_extensions/algorithms/remove_holes_if.cpp +++ b/test_extensions/algorithms/remove_holes_if.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/test_extensions/algorithms/selected.cpp b/test_extensions/algorithms/selected.cpp index dc3c55fe3..93ed42bb2 100644 --- a/test_extensions/algorithms/selected.cpp +++ b/test_extensions/algorithms/selected.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include diff --git a/test_extensions/gis/projections/projection.cpp b/test_extensions/gis/projections/projection.cpp index c8e0253e7..93df5e445 100644 --- a/test_extensions/gis/projections/projection.cpp +++ b/test_extensions/gis/projections/projection.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include #include diff --git a/test_extensions/gis/projections/projection_epsg.cpp b/test_extensions/gis/projections/projection_epsg.cpp index 45498a3e8..3e4fd292e 100644 --- a/test_extensions/gis/projections/projection_epsg.cpp +++ b/test_extensions/gis/projections/projection_epsg.cpp @@ -33,6 +33,7 @@ #include #include +#include #include #include diff --git a/test_extensions/gis/projections/projections.cpp b/test_extensions/gis/projections/projections.cpp index e71f16e53..14960d070 100644 --- a/test_extensions/gis/projections/projections.cpp +++ b/test_extensions/gis/projections/projections.cpp @@ -24,6 +24,8 @@ #include +#include + #include #include #include diff --git a/test_extensions/index/rtree.cpp b/test_extensions/index/rtree.cpp index 7a0179352..e83ba8b20 100644 --- a/test_extensions/index/rtree.cpp +++ b/test_extensions/index/rtree.cpp @@ -12,8 +12,8 @@ #include #include -#include #include +#include #include diff --git a/test_extensions/nsphere/within.cpp b/test_extensions/nsphere/within.cpp index 498ee2f55..3fc5b8712 100644 --- a/test_extensions/nsphere/within.cpp +++ b/test_extensions/nsphere/within.cpp @@ -10,6 +10,8 @@ #include #include +#include + #include #include From 1dc67c1bf59f10d726275861a1b920610c9f8951 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 May 2011 15:52:29 +0000 Subject: [PATCH 4/7] Removed references to std_as_linestring/ring/multi_point and c_array* and boost_array* because there are now macros for that [SVN r71824] --- doc/compiling.qbk | 134 ++++++++++++++++++ .../doxygen_input/pages/doxygen_pages.hpp | 6 - .../doxygen_input/sourcecode/doxygen_1.cpp | 1 - .../doxygen_input/sourcecode/doxygen_2.cpp | 3 - .../doxygen_input/sourcecode/doxygen_3.cpp | 3 - .../algorithms/intersection_ls_ls_point.cpp | 4 +- .../algorithms/intersection_segment.cpp | 1 - example/02_linestring_example.cpp | 13 +- example/03_polygon_example.cpp | 1 - example/06_a_transformation_example.cpp | 3 +- example/c05_custom_point_pointer_example.cpp | 7 +- example/c07_custom_ring_pointer_example.cpp | 4 +- .../gis/projections/p03_projmap_example.cpp | 1 - test/algorithms/append.cpp | 8 +- test/algorithms/distance.cpp | 12 +- test/algorithms/intersection.cpp | 5 +- test/algorithms/overlay/get_turn_info.cpp | 2 - test/core/coordinate_dimension.cpp | 8 +- test/core/coordinate_system.cpp | 8 +- test/core/coordinate_type.cpp | 8 +- test/core/geometry_id.cpp | 8 +- test/core/point_type.cpp | 8 +- test/core/tag.cpp | 7 +- test/core/topological_dimension.cpp | 7 +- test/geometries/adapted.cpp | 47 +++--- test/geometries/boost_polygon.cpp | 8 ++ test/geometries/custom_linestring.cpp | 6 +- test_extensions/nsphere/point_type.cpp | 2 - 28 files changed, 233 insertions(+), 92 deletions(-) create mode 100644 doc/compiling.qbk diff --git a/doc/compiling.qbk b/doc/compiling.qbk new file mode 100644 index 000000000..b6e73c91f --- /dev/null +++ b/doc/compiling.qbk @@ -0,0 +1,134 @@ +[/============================================================================== + Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2008-2011 Bruno Lalande, Paris, France. + Copyright (c) 2009-2011 Mateusz Loskot, London, UK., London, UK + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +===============================================================================/] + + + +[section Compilation] + +[def __msvc__ MSVC] +[def __stlport__ [@http://sourceforge.net/projects/stlport STLport]] + +__boost_geometry__ is a headers-only library. Users only need to include the +library headers in their programs in order to be able to access definitions +and algorithms provided by the __boost_geometry__ library. No linking against +any binaries is required. + +__boost_geometry__ is only dependant on headers-only __boost__ libraries. +It does not introduce indirect dependencies on any binary libraries. + +In order to be able to use __boost_geometry__, the only thing users need to do +is to download and/or install Boost and specify location to include +directories, so `include` directives of this scheme will work: + + #include + +[heading Supported Compilers] + +__boost_geometry__ library has been successfully tested with the following +compilers: + +* __msvc__ (including Express Editions) + * 10.0 (__msvc__ 2010) [/reported by Trunk report May 8, 2011] + * 9.0 (__msvc__ 2008) [/reported by Trunk report May 8, 2011] + * 8.0 (__msvc__ 2005) [/reported by Trunk report May 8, 2011] +* gcc + * gcc 4.6.1 [/reported by Trunk report May 8, 2011] + * gcc 4.6.0 (including C++0x) [/reported by Trunk report May 8, 2011] + * gcc 4.5.2 (including C++0x) [/reported by Trunk report May 8, 2011] + * gcc 4.4.0 [/reported by Trunk report May 8, 2011] + * gcc 4.3.4 [/reported by Trunk report March 26, 2011] + * gcc 4.2.1 [/reported by Trunk report May 8, 2011] + * gcc 3.4.6 [/reported by Trunk report March 26, 2011] +* clang + * clang x.x [/reported by Trunk report March 26, 2011] +* darwin + * darwin 4.0.1 [/reported by Trunk report March 26, 2011] + * darwin 4.4 [/reported by Trunk report March 26, 2011] +* intel + * intel 11.1 [/reported by Trunk report March 26, 2011] + * intel 11.0 [/reported by Trunk report March 26, 2011] + * intel 10.1 [/reported by Trunk report March 26, 2011] +* pathscale + * pathscale 4.0.8 [/reported by Trunk report March 26, 2011] + +__boost_geometry__ uses __boost_bb__, a text-based system for developing and +testing software, to configure, build and execute unit tests and example +programs. The build configuration is provided as a collection of `Jamfile.v2` +files. + +For gcc, flag [^-Wno-long-long] can be used to surpress some warnings +originating from Boost. + +[heading Includes] + +The most convenient headerfile including all algorithms and strategies is +`geometry.hpp`: + + #include + +This is the main header of the __boost_geometry__ library and it is +recommended to include this file. + +Alternatively, it is possible to include __boost_geometry__ header files +separately. However, this may be inconvenient as header files might be renamed +or moved occasionaly in future. + +Another often used header is `geometries.hpp`: + + #include + +This includes definitions of all provided geometry types: point, +linestring, polygon, ring, box. The file `geometries.hpp` is not included in +the `geometry.hpp` headerfile because users should be given the liberty to use +their own geometries and not the provided ones. However, for the +__boost_geometry__ users who want to use the provided geometries it is useful +to include. + +For users using multi-geometries: + + #include + +[heading Advanced Includes] + +Users who have their own geometries and want to use algorithms from +__boost_geometry__ might include the files containing registration +macro's, like: + + #include + +[heading Performance] + +The enumeration below is not exhaustive but can contain hints to improve the +performance: + +* For Microsoft __msvc__, set define `_SECURE_SCL=0` for preprocessor. +* For Microsoft __msvc__, set define `_HAS_ITERATOR_DEBUGGING=0` for preprocessor. +* Use of __stlport__, a popular open-source implementation of the STL, may result in + significantly faster code than use of the C++ standard library provided by __msvc__. +* Turn on compiler optimizations, compile in release mode. + +[heading Problems with Intellisense] + +Both versions of __msvc__, 2005 and 2008 (including Express Editions) can hang +trying to resolve symbols and give [@http://en.wikipedia.org/wiki/IntelliSense +IntelliSense] suggestions while typing in a bracket or angle bracket. +This is not directly related to __boost_geometry__, but is caused by problems +with handling by this IDE large C++ code base with intensively used templates, +such as Boost and __boost_geometry__. If this is inconvenient, IntelliSense +can be turned off: + +[:['["(...)disabling IntelliSense in VC++. There is a file called `feacp.dll` in +`/VC/vcpackages` folder. Renaming this file will disable Intellisense feature.]] + +-- [@http://blogs.msdn.com/yash/archive/2007/09/19/intellisense-issues-in-visual-c-2005.aspx Intellisense issues in Visual C++ 2005] +] + + +[endsect] [/ end of Compilation] diff --git a/doc/doxy/doxygen_input/pages/doxygen_pages.hpp b/doc/doxy/doxygen_input/pages/doxygen_pages.hpp index c48a13788..d3a6cc0b0 100644 --- a/doc/doxy/doxygen_input/pages/doxygen_pages.hpp +++ b/doc/doxy/doxygen_input/pages/doxygen_pages.hpp @@ -131,12 +131,6 @@ If you want to use your own points it makes sense to use the registration macro' - \#include macro's for box registration -If you are using standard containers containing points and want to handle them as a linestring -- \#include allows you to use things like \c std::vector - and put them as parameters into algorithms. - -If you are using boost tuples and want to handle them as Cartesian points -- \#include \section extension_includes Extensions diff --git a/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp b/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp index ccfcd994f..f4e9c52b1 100644 --- a/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp +++ b/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp @@ -20,7 +20,6 @@ OBSOLETE #include #include #include -#include #include diff --git a/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp b/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp index 2f47e73a1..bb820ffec 100644 --- a/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp +++ b/doc/doxy/doxygen_input/sourcecode/doxygen_2.cpp @@ -22,9 +22,6 @@ OBSOLETE #include #include #include -#include -#include -#include // Small QRect simulations following http://doc.trolltech.com/4.4/qrect.html diff --git a/doc/doxy/doxygen_input/sourcecode/doxygen_3.cpp b/doc/doxy/doxygen_input/sourcecode/doxygen_3.cpp index 1b6de0e60..845b650b3 100644 --- a/doc/doxy/doxygen_input/sourcecode/doxygen_3.cpp +++ b/doc/doxy/doxygen_input/sourcecode/doxygen_3.cpp @@ -13,9 +13,6 @@ OBSOLETE #include #include -#include -#include -#include diff --git a/doc/src/examples/algorithms/intersection_ls_ls_point.cpp b/doc/src/examples/algorithms/intersection_ls_ls_point.cpp index 44bb4d41d..336dde1aa 100644 --- a/doc/src/examples/algorithms/intersection_ls_ls_point.cpp +++ b/doc/src/examples/algorithms/intersection_ls_ls_point.cpp @@ -16,10 +16,12 @@ #include #include #include -#include /*< Adapts std::vector to linestring concept >*/ +#include #include +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) + int main() { diff --git a/doc/src/examples/algorithms/intersection_segment.cpp b/doc/src/examples/algorithms/intersection_segment.cpp index 1c59c63b6..c54834c9d 100644 --- a/doc/src/examples/algorithms/intersection_segment.cpp +++ b/doc/src/examples/algorithms/intersection_segment.cpp @@ -15,7 +15,6 @@ #include #include #include -#include /*< Adapts std::vector to linestring concept >*/ #include diff --git a/example/02_linestring_example.cpp b/example/02_linestring_example.cpp index ca9b3d27f..53e806389 100644 --- a/example/02_linestring_example.cpp +++ b/example/02_linestring_example.cpp @@ -20,12 +20,16 @@ #include #include #include -// Optional includes to handle c-arrays as points, std::vectors as linestrings + +// Optional includes and defines to handle c-arrays as points, std::vectors as linestrings +#include #include -#include BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template inline void translate_function(P& p) @@ -134,11 +138,6 @@ int main(void) << "as vector: " << dsv(v) << std::endl; - - std::cout - << "as it-pair: " - << dsv(std::make_pair(v.begin(), v.end())) - << std::endl; } // All algorithms from std can be used: a linestring is a vector diff --git a/example/03_polygon_example.cpp b/example/03_polygon_example.cpp index cd7bdfd6a..cc379d390 100644 --- a/example/03_polygon_example.cpp +++ b/example/03_polygon_example.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) diff --git a/example/06_a_transformation_example.cpp b/example/06_a_transformation_example.cpp index 6abb7ea79..75440f42e 100644 --- a/example/06_a_transformation_example.cpp +++ b/example/06_a_transformation_example.cpp @@ -16,7 +16,6 @@ #include #include #include -#include BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) @@ -39,7 +38,7 @@ int main() model::polygon poly, poly2; const double coor[][2] = { {0, 0}, {0, 7}, {2, 2}, {2, 0}, {0, 0} }; // note that for this syntax you have to include the two - // include files above (c_array.hpp, std_as_linestring.hpp) + // include files above (c_array.hpp) assign_points(poly, coor); //read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly); transform(poly, poly2, translate); diff --git a/example/c05_custom_point_pointer_example.cpp b/example/c05_custom_point_pointer_example.cpp index 9819c0f81..65ce0df14 100644 --- a/example/c05_custom_point_pointer_example.cpp +++ b/example/c05_custom_point_pointer_example.cpp @@ -20,9 +20,12 @@ #include #include #include -#include +#include #include +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + // Sample point, having x/y struct my_point { @@ -113,7 +116,5 @@ int main() delete p; } - - return 0; } diff --git a/example/c07_custom_ring_pointer_example.cpp b/example/c07_custom_ring_pointer_example.cpp index 8168dc0d9..6dc1a6f46 100644 --- a/example/c07_custom_ring_pointer_example.cpp +++ b/example/c07_custom_ring_pointer_example.cpp @@ -15,8 +15,10 @@ #include #include +#include + +BOOST_GEOMETRY_REGISTER_RING_TEMPLATED(std::vector) -#include // Sample point, having x/y struct my_point diff --git a/example_extensions/gis/projections/p03_projmap_example.cpp b/example_extensions/gis/projections/p03_projmap_example.cpp index 92f633f0f..7913e7bf7 100644 --- a/example_extensions/gis/projections/p03_projmap_example.cpp +++ b/example_extensions/gis/projections/p03_projmap_example.cpp @@ -12,7 +12,6 @@ #include #include -#include #include #include #include diff --git a/test/algorithms/append.cpp b/test/algorithms/append.cpp index f16d8a3c3..bed436076 100644 --- a/test/algorithms/append.cpp +++ b/test/algorithms/append.cpp @@ -24,12 +24,14 @@ #include #include #include -#include -#include +#include #include #include +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry(bool check = true) @@ -77,8 +79,6 @@ void test_all() test_geometry >(); test_geometry >(); //test_geometry >(); - - test_geometry >(); } int test_main(int, char* []) diff --git a/test/algorithms/distance.cpp b/test/algorithms/distance.cpp index 9cb34ba35..53dc4a7a2 100644 --- a/test/algorithms/distance.cpp +++ b/test/algorithms/distance.cpp @@ -19,10 +19,10 @@ #include #include +#include #include #include -#include #include #include @@ -33,6 +33,16 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +// Register boost array as a linestring +namespace boost { namespace geometry { namespace traits +{ +template +struct tag< boost::array > +{ + typedef linestring_tag type; +}; + +}}} template void test_distance_point() diff --git a/test/algorithms/intersection.cpp b/test/algorithms/intersection.cpp index 815d107ad..c4d9ec5c3 100644 --- a/test/algorithms/intersection.cpp +++ b/test/algorithms/intersection.cpp @@ -23,13 +23,16 @@ #include #include -#include #include +#include #include #include #include +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) + + static std::string pie_2_3_23_0[2] = { "POLYGON((2500 2500,2855 3828,2500 3875,2500 2500))", diff --git a/test/algorithms/overlay/get_turn_info.cpp b/test/algorithms/overlay/get_turn_info.cpp index 757bbcc0b..c2c5baa18 100644 --- a/test/algorithms/overlay/get_turn_info.cpp +++ b/test/algorithms/overlay/get_turn_info.cpp @@ -816,8 +816,6 @@ void test_all() /*** -#include -#include #include BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) diff --git a/test/core/coordinate_dimension.cpp b/test/core/coordinate_dimension.cpp index 70e819ccf..b27eda624 100644 --- a/test/core/coordinate_dimension.cpp +++ b/test/core/coordinate_dimension.cpp @@ -19,8 +19,7 @@ #include #include -#include -#include +#include #include #include @@ -28,6 +27,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry() @@ -49,8 +51,6 @@ void test_all() test_geometry, D>(); test_geometry, D>(); - - test_geometry, D>(); } int test_main(int, char* []) diff --git a/test/core/coordinate_system.cpp b/test/core/coordinate_system.cpp index fd2afd490..161fa525e 100644 --- a/test/core/coordinate_system.cpp +++ b/test/core/coordinate_system.cpp @@ -19,8 +19,7 @@ #include #include -#include -#include +#include #include #include @@ -28,6 +27,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry() @@ -50,8 +52,6 @@ void test_all() test_geometry, Expected>(); test_geometry, Expected>(); - - test_geometry, Expected>(); } int test_main(int, char* []) diff --git a/test/core/coordinate_type.cpp b/test/core/coordinate_type.cpp index aa9fb752a..e35f829d6 100644 --- a/test/core/coordinate_type.cpp +++ b/test/core/coordinate_type.cpp @@ -19,8 +19,7 @@ #include #include -#include -#include +#include #include #include @@ -28,6 +27,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry() @@ -50,8 +52,6 @@ void test_all() test_geometry, Expected>(); test_geometry, Expected>(); - - test_geometry, Expected>(); } int test_main(int, char* []) diff --git a/test/core/geometry_id.cpp b/test/core/geometry_id.cpp index bfb65d967..ac93d3f84 100644 --- a/test/core/geometry_id.cpp +++ b/test/core/geometry_id.cpp @@ -18,8 +18,7 @@ #include #include -#include -#include +#include #include #include @@ -27,6 +26,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry() @@ -48,8 +50,6 @@ void test_all() test_geometry, 2>(); test_geometry, 2>(); - - test_geometry, 2>(); } int test_main(int, char* []) diff --git a/test/core/point_type.cpp b/test/core/point_type.cpp index 1a4dd9855..93b269383 100644 --- a/test/core/point_type.cpp +++ b/test/core/point_type.cpp @@ -18,8 +18,7 @@ #include #include -#include -#include +#include #include #include @@ -27,6 +26,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry() @@ -49,8 +51,6 @@ void test_all() test_geometry, P>(); test_geometry, P>(); - - test_geometry, P>(); } int test_main(int, char* []) diff --git a/test/core/tag.cpp b/test/core/tag.cpp index 1a6759238..c33eefa9f 100644 --- a/test/core/tag.cpp +++ b/test/core/tag.cpp @@ -17,8 +17,7 @@ #include #include -#include -#include +#include #include #include @@ -26,6 +25,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry() @@ -49,7 +51,6 @@ void test_all() test_geometry, bg::linestring_tag>(); test_geometry, bg::linestring_tag>(); - test_geometry, bg::linestring_tag>(); } int test_main(int, char* []) diff --git a/test/core/topological_dimension.cpp b/test/core/topological_dimension.cpp index 53b0ac4e8..40cd06d4e 100644 --- a/test/core/topological_dimension.cpp +++ b/test/core/topological_dimension.cpp @@ -14,11 +14,10 @@ #include +#include #include #include -#include -#include #include #include @@ -26,6 +25,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + template void test_geometry() @@ -48,7 +50,6 @@ void test_all() test_geometry, 1>(); test_geometry, 1>(); - test_geometry, 1>(); } int test_main(int, char* []) diff --git a/test/geometries/adapted.cpp b/test/geometries/adapted.cpp index c5392cce6..8c831f551 100644 --- a/test/geometries/adapted.cpp +++ b/test/geometries/adapted.cpp @@ -15,41 +15,42 @@ #include #include +#include +#include + +#include + #define BOOST_GEOMETRY_TEST_RING #if defined(BOOST_GEOMETRY_TEST_RING) - #include - - #include - #include - #include + #include + #include + BOOST_GEOMETRY_REGISTER_RING_TEMPLATED(std::vector) + BOOST_GEOMETRY_REGISTER_RING_TEMPLATED(std::deque) + #elif defined(BOOST_GEOMETRY_TEST_MULTI_POINT) - #include - - #include - #include - #include - + #include + #include + BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED(std::vector) + BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED(std::deque) + #else - #include - #include - #include - #include + #include + #include + + BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) + BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + #endif -#include -#include - -#include - BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) @@ -82,16 +83,14 @@ void test_all() test_geometry(std::deque

()); //test_geometry(std::list

()); - - test_geometry(boost::array(), 5); - - + /*** double vertices[][3] = { {-1, -1, 1}, {1, -1, 1}, {1, 1, 1}, {-1, 1, 1}, {-1, -1, -1}, {1, -1, -1}, {1, 1, -1}, {-1, 1, -1} }; test_geometry(vertices, 8); + ***/ } int test_main(int, char* []) diff --git a/test/geometries/boost_polygon.cpp b/test/geometries/boost_polygon.cpp index b8c614b0e..7be6452aa 100644 --- a/test/geometries/boost_polygon.cpp +++ b/test/geometries/boost_polygon.cpp @@ -11,11 +11,19 @@ #include + +#include +#include +#include +#include + #include #include #include #include + #include + #include template diff --git a/test/geometries/custom_linestring.cpp b/test/geometries/custom_linestring.cpp index fbd4ab072..9b222e39b 100644 --- a/test/geometries/custom_linestring.cpp +++ b/test/geometries/custom_linestring.cpp @@ -25,8 +25,7 @@ #include -#include -#include +#include #include #include #include @@ -34,6 +33,9 @@ BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::vector) +BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED(std::deque) + //#define TEST_FAIL_CLEAR //#define TEST_FAIL_APPEND diff --git a/test_extensions/nsphere/point_type.cpp b/test_extensions/nsphere/point_type.cpp index 7c99903e1..d751d2cf4 100644 --- a/test_extensions/nsphere/point_type.cpp +++ b/test_extensions/nsphere/point_type.cpp @@ -18,8 +18,6 @@ #include #include -#include -#include #include #include From c821efcc2bd5fa4987737fb85e261d50c1d767ef Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 May 2011 15:55:43 +0000 Subject: [PATCH 5/7] Removed std_as_linestring/ring/multi_point and c_array* and boost_array* because there are now macros for that Mention box/point/segment as helper-geometry explicitly Removed all std geometries from geometries.hpp, geometry.hpp, multi.hpp - they have to be included explicitly [SVN r71825] --- .../detail/overlay/assign_parents.hpp | 2 + .../overlay/get_intersection_points.hpp | 2 + .../detail/overlay/get_turn_info.hpp | 2 + .../algorithms/detail/overlay/get_turns.hpp | 1 + .../detail/overlay/handle_tangencies.hpp | 3 +- .../detail/overlay/self_turn_points.hpp | 2 + .../algorithms/buffer/linestring_buffer.hpp | 2 + .../extensions/algorithms/mark_spikes.hpp | 2 + .../geometry/extensions/algorithms/offset.hpp | 1 + .../extensions/algorithms/remove_spikes.hpp | 3 + .../geometry/extensions/io/svg/svg_mapper.hpp | 36 ++++---- .../iterators/segment_returning_iterator.hpp | 2 + .../adapted/boost_array_as_linestring.hpp | 87 ------------------- .../adapted/boost_array_as_ring.hpp | 56 ------------ .../adapted/c_array_as_linestring.hpp | 51 ----------- .../geometries/adapted/c_array_as_ring.hpp | 51 ----------- .../geometries/adapted/std_as_linestring.hpp | 72 --------------- .../geometries/adapted/std_as_ring.hpp | 54 ------------ .../boost/geometry/geometries/geometries.hpp | 6 +- include/boost/geometry/geometry.hpp | 8 -- .../adapted/boost_array_as_multi_point.hpp | 56 ------------ .../adapted/c_array_as_multi_point.hpp | 51 ----------- .../geometries/adapted/std_as_multi_point.hpp | 71 --------------- .../multi/geometries/multi_geometries.hpp | 21 +++++ include/boost/geometry/multi/multi.hpp | 3 - .../cartesian/centroid_weighted_length.hpp | 7 +- .../cartesian/distance_projected_point.hpp | 5 +- 27 files changed, 67 insertions(+), 590 deletions(-) delete mode 100644 include/boost/geometry/geometries/adapted/boost_array_as_linestring.hpp delete mode 100644 include/boost/geometry/geometries/adapted/boost_array_as_ring.hpp delete mode 100644 include/boost/geometry/geometries/adapted/c_array_as_linestring.hpp delete mode 100644 include/boost/geometry/geometries/adapted/c_array_as_ring.hpp delete mode 100644 include/boost/geometry/geometries/adapted/std_as_linestring.hpp delete mode 100644 include/boost/geometry/geometries/adapted/std_as_ring.hpp delete mode 100644 include/boost/geometry/multi/geometries/adapted/boost_array_as_multi_point.hpp delete mode 100644 include/boost/geometry/multi/geometries/adapted/c_array_as_multi_point.hpp delete mode 100644 include/boost/geometry/multi/geometries/adapted/std_as_multi_point.hpp create mode 100644 include/boost/geometry/multi/geometries/multi_geometries.hpp diff --git a/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp b/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp index 90ba4164b..423e051f9 100644 --- a/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/assign_parents.hpp @@ -16,6 +16,8 @@ #include #include +#include + namespace boost { namespace geometry { diff --git a/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp b/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp index 4a0fdc952..a752773ab 100644 --- a/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp @@ -15,6 +15,8 @@ #include #include +#include + namespace boost { namespace geometry { diff --git a/include/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp b/include/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp index 783a63bb1..93bf368bc 100644 --- a/include/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/get_turn_info.hpp @@ -17,6 +17,8 @@ #include #include +#include + namespace boost { namespace geometry { diff --git a/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp b/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp index 55d062f42..6b7fbe19d 100644 --- a/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/get_turns.hpp @@ -36,6 +36,7 @@ #include #include +#include #include diff --git a/include/boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp b/include/boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp index 6c1ac0a4e..61e737847 100644 --- a/include/boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/handle_tangencies.hpp @@ -11,11 +11,12 @@ #include - #include #include #include +#include + namespace boost { namespace geometry { diff --git a/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp b/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp index f996b60ea..62b8ef484 100644 --- a/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp +++ b/include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp @@ -21,6 +21,8 @@ #include #include +#include + namespace boost { namespace geometry { diff --git a/include/boost/geometry/extensions/algorithms/buffer/linestring_buffer.hpp b/include/boost/geometry/extensions/algorithms/buffer/linestring_buffer.hpp index d1aa797f2..9b428ff40 100644 --- a/include/boost/geometry/extensions/algorithms/buffer/linestring_buffer.hpp +++ b/include/boost/geometry/extensions/algorithms/buffer/linestring_buffer.hpp @@ -22,6 +22,8 @@ #include #include +#include + diff --git a/include/boost/geometry/extensions/algorithms/mark_spikes.hpp b/include/boost/geometry/extensions/algorithms/mark_spikes.hpp index ec2a7b149..fc5ad4e91 100644 --- a/include/boost/geometry/extensions/algorithms/mark_spikes.hpp +++ b/include/boost/geometry/extensions/algorithms/mark_spikes.hpp @@ -31,6 +31,8 @@ #include #include +#include + /* Mark spikes in a ring/polygon. diff --git a/include/boost/geometry/extensions/algorithms/offset.hpp b/include/boost/geometry/extensions/algorithms/offset.hpp index bf59352c3..bcc52b14b 100644 --- a/include/boost/geometry/extensions/algorithms/offset.hpp +++ b/include/boost/geometry/extensions/algorithms/offset.hpp @@ -18,6 +18,7 @@ #include #include +#include namespace boost { namespace geometry { diff --git a/include/boost/geometry/extensions/algorithms/remove_spikes.hpp b/include/boost/geometry/extensions/algorithms/remove_spikes.hpp index b2e7e7153..e568e25fa 100644 --- a/include/boost/geometry/extensions/algorithms/remove_spikes.hpp +++ b/include/boost/geometry/extensions/algorithms/remove_spikes.hpp @@ -36,6 +36,9 @@ #include +#include + + /* Remove spikes from a ring/polygon. Ring (having 8 vertices, including closing vertex) diff --git a/include/boost/geometry/extensions/io/svg/svg_mapper.hpp b/include/boost/geometry/extensions/io/svg/svg_mapper.hpp index 27b97d418..f883a9b24 100644 --- a/include/boost/geometry/extensions/io/svg/svg_mapper.hpp +++ b/include/boost/geometry/extensions/io/svg/svg_mapper.hpp @@ -37,28 +37,33 @@ #include #include -#include -#include -#include -#include -#include - - #include #include #include #include +// Helper geometries (all points are transformed to integer-points) +#include + namespace boost { namespace geometry { +#ifndef DOXYGEN_NO_DETAIL +namespace detail { namespace svg +{ + typedef model::point svg_point_type; +}} +#endif + #ifndef DOXYGEN_NO_DISPATCH namespace dispatch { + + template struct svg_map { @@ -78,7 +83,7 @@ struct svg_map std::string const& style, int size, Point const& point, TransformStrategy const& strategy) { - model::d2::point_xy ipoint; + detail::svg::svg_point_type ipoint; geometry::transform(point, ipoint, strategy); stream << geometry::svg(ipoint, style, size) << std::endl; } @@ -92,7 +97,7 @@ struct svg_map std::string const& style, int size, Box const& box, TransformStrategy const& strategy) { - model::box > ibox; + model::box ibox; geometry::transform(box, ibox, strategy); stream << geometry::svg(ibox, style, size) << std::endl; @@ -127,7 +132,7 @@ struct svg_map svg_map_range < view_type, - model::linestring > + model::linestring >::apply(stream, style, size, range, strategy); } }; @@ -135,13 +140,13 @@ struct svg_map template struct svg_map - : svg_map_range > > + : svg_map_range > {}; template struct svg_map - : svg_map_range > > + : svg_map_range > {}; @@ -153,7 +158,7 @@ struct svg_map std::string const& style, int size, Polygon const& polygon, TransformStrategy const& strategy) { - model::polygon > ipoly; + model::polygon ipoly; geometry::transform(polygon, ipoly, strategy); stream << geometry::svg(ipoly, style, size) << std::endl; } @@ -212,11 +217,10 @@ inline void svg_map(std::ostream& stream, template class svg_mapper : boost::noncopyable { - typedef model::d2::point_xy map_point_type; typedef strategy::transform::map_transformer < Point, - map_point_type, + detail::svg::svg_point_type, true, SameScale > transformer_type; @@ -299,7 +303,7 @@ public : int offset_x = 0, int offset_y = 0, int lineheight = 10) { init_matrix(); - map_point_type map_point; + detail::svg::svg_point_type map_point; transform(point, map_point, *m_matrix); m_stream << " #include + +// Helper geometry #include namespace boost { namespace geometry diff --git a/include/boost/geometry/geometries/adapted/boost_array_as_linestring.hpp b/include/boost/geometry/geometries/adapted/boost_array_as_linestring.hpp deleted file mode 100644 index 7e6396fa0..000000000 --- a/include/boost/geometry/geometries/adapted/boost_array_as_linestring.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_LINESTRING_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_LINESTRING_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_BOOST_ARRAY_TAG_DEFINED -#error Include either "boost_array_as_point" or \ - "boost_array_as_linestring" or "boost_array_as_ring" \ - or "boost_array_as_multi_point" to adapt a boost_array -#endif - -#define BOOST_GEOMETRY_ADAPTED_BOOST_ARRAY_TAG_DEFINED - - -#include -#include - -#include - -#include -#include -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - -template -struct tag< boost::array > -{ - typedef linestring_tag type; -}; - -// boost::array is immutable with respect to size -// Therefore, prohibit compilation -template -struct clear< boost::array > -{ - BOOST_MPL_ASSERT_MSG - ( - false, NOT_IMPLEMENTED_FOR_BOOST_ARRAY_OF, (types) - ); -}; - -template -struct resize< boost::array > -{ - BOOST_MPL_ASSERT_MSG - ( - false, NOT_IMPLEMENTED_FOR_BOOST_ARRAY_OF, (types) - ); -}; - -template -struct push_back< boost::array > -{ - BOOST_MPL_ASSERT_MSG - ( - false, NOT_IMPLEMENTED_FOR_BOOST_ARRAY_OF, (types) - ); -}; - -} -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_LINESTRING_HPP diff --git a/include/boost/geometry/geometries/adapted/boost_array_as_ring.hpp b/include/boost/geometry/geometries/adapted/boost_array_as_ring.hpp deleted file mode 100644 index c71019672..000000000 --- a/include/boost/geometry/geometries/adapted/boost_array_as_ring.hpp +++ /dev/null @@ -1,56 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_RING_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_RING_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_BOOST_ARRAY_TAG_DEFINED -#error Include either "boost_array_as_point" or \ - "boost_array_as_linestring" or "boost_array_as_ring" \ - or "boost_array_as_multi_point" to adapt a boost_array -#endif - -#define BOOST_GEOMETRY_ADAPTED_BOOST_ARRAY_TAG_DEFINED - - -#include - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - - template - struct tag< boost::array > - { - typedef ring_tag type; - }; - -} -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_RING_HPP diff --git a/include/boost/geometry/geometries/adapted/c_array_as_linestring.hpp b/include/boost/geometry/geometries/adapted/c_array_as_linestring.hpp deleted file mode 100644 index 41b4319c6..000000000 --- a/include/boost/geometry/geometries/adapted/c_array_as_linestring.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_LINESTRING_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_LINESTRING_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_C_ARRAY_AS_POINT_COLLECTION_TAG_DEFINED -#error Include either "c_array_as_linestring" or "c_array_as_ring" \ - or "c_array_as_multi_point" to adapt a c array -#endif - -#define BOOST_GEOMETRY_ADAPTED_C_ARRAY_AS_POINT_COLLECTION_TAG_DEFINED - - -#include - -#include -#include - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - - template - struct tag< T[PointCount][DimensionCount] > - { - typedef linestring_tag type; - }; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_LINESTRING_HPP diff --git a/include/boost/geometry/geometries/adapted/c_array_as_ring.hpp b/include/boost/geometry/geometries/adapted/c_array_as_ring.hpp deleted file mode 100644 index 604da8e39..000000000 --- a/include/boost/geometry/geometries/adapted/c_array_as_ring.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_RING_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_RING_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_C_ARRAY_AS_POINT_COLLECTION_TAG_DEFINED -#error Include either "c_array_as_linestring" or "c_array_as_ring" \ - or "c_array_as_multi_point" to adapt a c array -#endif - -#define BOOST_GEOMETRY_ADAPTED_C_ARRAY_AS_POINT_COLLECTION_TAG_DEFINED - - -#include - -#include -#include - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - - template - struct tag< T[PointCount][DimensionCount] > - { - typedef ring_tag type; - }; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_RING_HPP diff --git a/include/boost/geometry/geometries/adapted/std_as_linestring.hpp b/include/boost/geometry/geometries/adapted/std_as_linestring.hpp deleted file mode 100644 index 8abf0a8bd..000000000 --- a/include/boost/geometry/geometries/adapted/std_as_linestring.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2008-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_LINESTRING_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_LINESTRING_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_STD_AS_POINT_COLLECTION_TAG_DEFINED -#error Include either "std_as_linestring" or "std_as_ring" \ - or "std_as_multi_point" to adapt the std:: containers -#endif - -#define BOOST_GEOMETRY_ADAPTED_STD_AS_POINT_COLLECTION_TAG_DEFINED - - -#include -#include -#include -#include - - -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace util -{ - struct std_as_linestring - { - typedef linestring_tag type; - }; - -} -#endif - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - // specialization for an iterator pair (read only) - template struct tag< std::pair > : util::std_as_linestring {}; - - // specializations for the std:: containers: vector, deque, list - template struct tag< std::vector

> : util::std_as_linestring {}; - template struct tag< std::deque

> : util::std_as_linestring {}; - template struct tag< std::list

> : util::std_as_linestring {}; - -} -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_LINESTRING_HPP diff --git a/include/boost/geometry/geometries/adapted/std_as_ring.hpp b/include/boost/geometry/geometries/adapted/std_as_ring.hpp deleted file mode 100644 index 30b802430..000000000 --- a/include/boost/geometry/geometries/adapted/std_as_ring.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2008-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_RING_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_RING_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_STD_AS_POINT_COLLECTION_TAG_DEFINED -#error Include either "std_as_linestring" or "std_as_ring" \ - or "std_as_multi_point" to adapt the std:: containers -#endif - -#define BOOST_GEOMETRY_ADAPTED_STD_AS_POINT_COLLECTION_TAG_DEFINED - - -#include -#include -#include -#include - -#include - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - // specialization for an iterator pair - template struct tag< std::pair > { typedef ring_tag type; }; - - // specialization for the std:: containers: vector, deque, list - template struct tag< std::vector > { typedef ring_tag type; }; - template struct tag< std::deque > { typedef ring_tag type; }; - template struct tag< std::list > { typedef ring_tag type; }; -} -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_RING_HPP diff --git a/include/boost/geometry/geometries/geometries.hpp b/include/boost/geometry/geometries/geometries.hpp index fd766ff26..7488c29d8 100644 --- a/include/boost/geometry/geometries/geometries.hpp +++ b/include/boost/geometry/geometries/geometries.hpp @@ -14,16 +14,12 @@ #ifndef BOOST_GEOMETRY_GEOMETRIES_HPP #define BOOST_GEOMETRY_GEOMETRIES_HPP -#include -#include - #include -#include -#include #include #include #include +#include #include #endif // BOOST_GEOMETRY_GEOMETRIES_HPP diff --git a/include/boost/geometry/geometry.hpp b/include/boost/geometry/geometry.hpp index c98be8904..694659785 100644 --- a/include/boost/geometry/geometry.hpp +++ b/include/boost/geometry/geometry.hpp @@ -65,14 +65,6 @@ #include #include -// Include provided geometries -#include -#include -#include -#include -#include -#include - // Include multi a.o. because it can give weird effects // if you don't (e.g. area=0 of a multipolygon) #include diff --git a/include/boost/geometry/multi/geometries/adapted/boost_array_as_multi_point.hpp b/include/boost/geometry/multi/geometries/adapted/boost_array_as_multi_point.hpp deleted file mode 100644 index c840c9918..000000000 --- a/include/boost/geometry/multi/geometries/adapted/boost_array_as_multi_point.hpp +++ /dev/null @@ -1,56 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_MULTI_POINT_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_MULTI_POINT_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_BOOST_ARRAY_TAG_DEFINED -#error Include either "boost_array_as_point" or \ - "boost_array_as_linestring" or "boost_array_as_ring" \ - or "boost_array_as_multi_point" to adapt a boost_array -#endif - -#define BOOST_GEOMETRY_ADAPTED_BOOST_ARRAY_TAG_DEFINED - - -#include - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - - template - struct tag< boost::array > - { - typedef multi_point_tag type; - }; - -} -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_BOOST_ARRAY_AS_MULTI_POINT_HPP diff --git a/include/boost/geometry/multi/geometries/adapted/c_array_as_multi_point.hpp b/include/boost/geometry/multi/geometries/adapted/c_array_as_multi_point.hpp deleted file mode 100644 index 6cc5e2c22..000000000 --- a/include/boost/geometry/multi/geometries/adapted/c_array_as_multi_point.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_MULTI_POINT_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_MULTI_POINT_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_C_ARRAY_AS_POINT_COLLECTION_TAG_DEFINED -#error Include either "c_array_as_linestring" or "c_array_as_ring" \ - or "c_array_as_multi_point" to adapt a c array -#endif - -#define BOOST_GEOMETRY_ADAPTED_C_ARRAY_AS_POINT_COLLECTION_TAG_DEFINED - - -#include - -#include -#include - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - - template - struct tag< T[PointCount][DimensionCount] > - { - typedef multi_point_tag type; - }; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_C_ARRAY_AS_MULTI_POINT_HPP diff --git a/include/boost/geometry/multi/geometries/adapted/std_as_multi_point.hpp b/include/boost/geometry/multi/geometries/adapted/std_as_multi_point.hpp deleted file mode 100644 index 171489f2a..000000000 --- a/include/boost/geometry/multi/geometries/adapted/std_as_multi_point.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_MULTI_POINT_HPP -#define BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_MULTI_POINT_HPP - - -#ifdef BOOST_GEOMETRY_ADAPTED_STD_AS_POINT_COLLECTION_TAG_DEFINED -#error Include either "std_as_linestring" or "std_as_ring" \ - or "std_as_multi_point" to adapt the std:: containers -#endif - -#define BOOST_GEOMETRY_ADAPTED_STD_AS_POINT_COLLECTION_TAG_DEFINED - - -#include -#include -#include -#include - - -#include -#include -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace util -{ - struct std_as_multi_point - { - typedef multi_point_tag type; - }; - -} -#endif - - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - // specialization for an iterator pair (read only) - template struct tag< std::pair > : util::std_as_multi_point {}; - - // specializations for the std:: containers: vector, deque, list - template struct tag< std::vector

> : util::std_as_multi_point {}; - template struct tag< std::deque

> : util::std_as_multi_point {}; - template struct tag< std::list

> : util::std_as_multi_point {}; - -} -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_GEOMETRIES_ADAPTED_STD_AS_MULTI_POINT_HPP diff --git a/include/boost/geometry/multi/geometries/multi_geometries.hpp b/include/boost/geometry/multi/geometries/multi_geometries.hpp new file mode 100644 index 000000000..0e98b22fb --- /dev/null +++ b/include/boost/geometry/multi/geometries/multi_geometries.hpp @@ -0,0 +1,21 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2011 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2011 Mateusz Loskot, London, UK. + +// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library +// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_GEOMETRY_MULTI_GEOMETRIES_MULTI_GEOMETRIES_HPP +#define BOOST_GEOMETRY_MULTI_GEOMETRIES_MULTI_GEOMETRIES_HPP + +#include +#include +#include + +#endif // BOOST_GEOMETRY_MULTI_GEOMETRIES_MULTI_GEOMETRIES_HPP diff --git a/include/boost/geometry/multi/multi.hpp b/include/boost/geometry/multi/multi.hpp index 87373cf10..b80a15112 100644 --- a/include/boost/geometry/multi/multi.hpp +++ b/include/boost/geometry/multi/multi.hpp @@ -58,9 +58,6 @@ #include #include -#include -#include -#include #include #include #include diff --git a/include/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp b/include/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp index 0d89c735f..bf1e7716e 100644 --- a/include/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp +++ b/include/boost/geometry/strategies/cartesian/centroid_weighted_length.hpp @@ -15,18 +15,17 @@ #include #include -#include #include #include #include +// Helper geometry +#include + namespace boost { namespace geometry { -// Note: when calling the namespace "centroid", it sometimes, -// somehow, in gcc, gives compilation problems (confusion with function centroid). - namespace strategy { namespace centroid { diff --git a/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp b/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp index 52eb4bd69..4378949ea 100644 --- a/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp +++ b/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp @@ -33,11 +33,8 @@ #include - - -// Helper geometries +// Helper geometry (projected point on line) #include -#include namespace boost { namespace geometry From 925dd5e86825e03ab2dc5dd825c9e28e7ce0ee75 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 May 2011 20:58:46 +0000 Subject: [PATCH 6/7] Doc update [SVN r71836] --- include/boost/geometry/views/box_view.hpp | 16 ++++++++++++++-- include/boost/geometry/views/closeable_view.hpp | 14 ++++++++++---- include/boost/geometry/views/segment_view.hpp | 15 +++++++++++++-- 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/include/boost/geometry/views/box_view.hpp b/include/boost/geometry/views/box_view.hpp index da5e03ac7..a061de971 100644 --- a/include/boost/geometry/views/box_view.hpp +++ b/include/boost/geometry/views/box_view.hpp @@ -27,9 +27,20 @@ namespace boost { namespace geometry /*! -\brief Range, walking over the four points of a box -\tparam Box box type +\brief Makes a box behave like a ring or a range +\details Adapts a box to the Boost.Range concept, enabling the user to iterating + box corners. The box_view is registered as a Ring Concept +\tparam Box \tparam_geometry{Box} +\tparam Clockwise If true, walks in clockwise direction, otherwise + it walks in counterclockwise direction \ingroup views + +\qbk{before.synopsis, +[heading Model of] +[link geometry.reference.concepts.concept_ring Ring Concept] +} + +\qbk{[include reference/views/box_view.qbk]} */ template struct box_view @@ -41,6 +52,7 @@ struct box_view { typedef typename geometry::point_type::type point_type; + /// Constructor accepting the box to adapt explicit box_view(Box const& box) : detail::points_view(copy_policy(box)) {} diff --git a/include/boost/geometry/views/closeable_view.hpp b/include/boost/geometry/views/closeable_view.hpp index 407f93485..00ff06e67 100644 --- a/include/boost/geometry/views/closeable_view.hpp +++ b/include/boost/geometry/views/closeable_view.hpp @@ -41,7 +41,6 @@ struct closing_view : m_range(r) {} - typedef closing_iterator iterator; typedef closing_iterator const_iterator; @@ -60,9 +59,16 @@ private : /*! -\brief View on a range, either closing or not closing -\tparam Range original range -\tparam Close specifying if it should be closed or not +\brief View on a range, either closing it or leaving it as it is +\details The closeable_view is used internally by the library to handle all rings, + either closed or open, the same way. The default method is closed, all + algorithms process rings as if they are closed. Therefore, if they are opened, + a view is created which closes them. + The closeable_view might be used by library users, but its main purpose is + internally. +\tparam Range Original range +\tparam Close Specifies if it the range is closed, if so, nothing will happen. + If it is open, it will iterate the first point after the last point. \ingroup views */ template diff --git a/include/boost/geometry/views/segment_view.hpp b/include/boost/geometry/views/segment_view.hpp index be1f6b92f..4742e719b 100644 --- a/include/boost/geometry/views/segment_view.hpp +++ b/include/boost/geometry/views/segment_view.hpp @@ -27,9 +27,19 @@ namespace boost { namespace geometry /*! -\brief Range, walking over the two points of a segment -\tparam Segment segment type +\brief Makes a segment behave like a linestring or a range +\details Adapts a segment to the Boost.Range concept, enabling the user to + iterate the two segment points. The segment_view is registered as a LineString Concept +\tparam Segment \tparam_geometry{Segment} \ingroup views + +\qbk{before.synopsis, +[heading Model of] +[link geometry.reference.concepts.concept_linestring LineString Concept] +} + +\qbk{[include reference/views/segment_view.qbk]} + */ template struct segment_view @@ -41,6 +51,7 @@ struct segment_view { typedef typename geometry::point_type::type point_type; + /// Constructor accepting the segment to adapt explicit segment_view(Segment const& segment) : detail::points_view(copy_policy(segment)) {} From 9cd38383bfcde48872dac155505f166c064510e4 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 8 May 2011 20:59:38 +0000 Subject: [PATCH 7/7] Doc update [SVN r71837] --- doc/concept/linestring.qbk | 5 ++--- doc/doxy/Doxyfile | 2 +- doc/imports.qbk | 3 +++ doc/reference/views/box_view.qbk | 16 ++++++++++++++++ doc/reference/views/segment_view.qbk | 16 ++++++++++++++++ 5 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 doc/reference/views/box_view.qbk create mode 100644 doc/reference/views/segment_view.qbk diff --git a/doc/concept/linestring.qbk b/doc/concept/linestring.qbk index e6213f549..d264e2449 100644 --- a/doc/concept/linestring.qbk +++ b/doc/concept/linestring.qbk @@ -29,8 +29,7 @@ The Linestring Concept is defined as following: [heading Available Models] * [link geometry.reference.models.model_linestring model::linestring] -* a std::vector (requires `#include boost/geometry/geometries/adapted/std_as_linestring.hpp>`) -* a std::deque (requires `#include boost/geometry/geometries/adapted/std_as_linestring.hpp>`) - +* a std::vector (requires registration) +* a std::deque (requires registration) [endsect] diff --git a/doc/doxy/Doxyfile b/doc/doxy/Doxyfile index 8244b1b12..50a390a58 100644 --- a/doc/doxy/Doxyfile +++ b/doc/doxy/Doxyfile @@ -61,7 +61,7 @@ ALIASES = qbk{1}="\xmlonly \1 \endxmlonly" \ tparam_functor="Function or class with operator()" \ tparam_output_collection="output collection, either a multi-geometry, or a std::vector / std::deque etc" \ tparam_geometry="Any type fulfilling a Geometry Concept" \ - tparam_geometry{1}="A type fulfilling a \1 Concept" \ + tparam_geometry{1}="A type fulfilling the \1 Concept" \ tparam_index_required="Index, this template parameter is required. For a Box: either min_corner or max_corner. For a Segment: either 0 or 1 for first or last point." \ tparam_numeric="numerical type (int, double, ttmath, ...)" \ tparam_out{1}="A valid output iterator type, accepting geometries of \1 Concept" \ diff --git a/doc/imports.qbk b/doc/imports.qbk index 7f44713fd..1b18d2719 100644 --- a/doc/imports.qbk +++ b/doc/imports.qbk @@ -103,3 +103,6 @@ [import src/examples/geometries/register/multi_linestring.cpp] [import src/examples/geometries/register/multi_polygon.cpp] + +[import src/examples/views/box_view.cpp] +[import src/examples/views/segment_view.cpp] diff --git a/doc/reference/views/box_view.qbk b/doc/reference/views/box_view.qbk new file mode 100644 index 000000000..ca6c315dc --- /dev/null +++ b/doc/reference/views/box_view.qbk @@ -0,0 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Complexity] +Compile time + +[heading Example] +[box_view] +[box_view_output] diff --git a/doc/reference/views/segment_view.qbk b/doc/reference/views/segment_view.qbk new file mode 100644 index 000000000..5ec3155ca --- /dev/null +++ b/doc/reference/views/segment_view.qbk @@ -0,0 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Amsterdam, the Netherlands. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Complexity] +Compile time + +[heading Example] +[segment_view] +[segment_view_output]