From 4e972f038997306e77da778be0e4a9cd37eada81 Mon Sep 17 00:00:00 2001 From: Adam Wulkiewicz Date: Fri, 11 Jan 2013 04:09:30 +0000 Subject: [PATCH] Fixed errors in doxygen_xml2qbk - lists support, additional paragraphs display. Added warnings and infos. Rtree docs improved, added text formatting, warnings etc. [SVN r82446] --- doc/generated/adaptors.qbk | 6 +- doc/generated/distance_predicates.qbk | 28 +- doc/generated/inserters.qbk | 2 +- doc/generated/predicates.qbk | 42 +- doc/generated/rtree.qbk | 397 ++++- doc/generated/rtree_functions.qbk | 36 +- doc/generated/translator_index.qbk | 2 +- doc/html/geometry_index/introduction.html | 2 +- doc/html/geometry_index/r_tree.html | 2 +- .../r_tree/creation_and_modification.html | 10 +- .../geometry_index/r_tree/introduction.html | 20 +- .../r_tree/nearest_neighbours_queries.html | 2 +- doc/html/geometry_index/r_tree/reference.html | 1340 +++++++++++------ .../r_tree/rtree_quickstart.html | 4 +- .../r_tree/spatial_queries.html | 2 +- doc/html/index.html | 4 +- .../doxygen_xml2qbk/doxygen_elements.hpp | 2 + .../doxygen_xml2qbk/doxygen_xml_parser.hpp | 10 +- .../doxygen_xml2qbk/quickbook_output.hpp | 50 +- .../extensions/index/distance_predicates.hpp | 28 +- .../geometry/extensions/index/predicates.hpp | 24 +- .../geometry/extensions/index/rtree/rtree.hpp | 297 ++-- 22 files changed, 1556 insertions(+), 754 deletions(-) diff --git a/doc/generated/adaptors.qbk b/doc/generated/adaptors.qbk index cfa647625..fee8059b9 100644 --- a/doc/generated/adaptors.qbk +++ b/doc/generated/adaptors.qbk @@ -17,7 +17,7 @@ detail::nearest_query boost::geometry::index::a size_t k, Predicates const & pred)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `DistancesPredicates const &` ][ `dpred` ][Distance predicates. ]] @@ -33,7 +33,7 @@ The nearest query index adaptor generator. ``template detail::nearest_query boost::geometry::index::adaptors::nearest_queried(DistancesPredicates const & dpred, size_t k)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `DistancesPredicates const &` ][ `dpred` ][Distance predicates. ]] @@ -48,7 +48,7 @@ The spatial query index adaptor generator. ``template detail::spatial_query boost::geometry::index::adaptors::spatial_queried(Predicates const & pred)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Predicates const &` ][ `pred` ][Spatial predicates. ]] diff --git a/doc/generated/distance_predicates.qbk b/doc/generated/distance_predicates.qbk index 60f5b39d7..f21c18a46 100644 --- a/doc/generated/distance_predicates.qbk +++ b/doc/generated/distance_predicates.qbk @@ -20,7 +20,7 @@ Generate a nearest query Point and Value's Indexable relationship while calculat ``template detail::to_nearest boost::geometry::index::to_nearest(T const & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `T const &` ][ `v` ][Point or bound value. ]] @@ -35,7 +35,7 @@ Generate a nearest query Point and Value's Indexable relationship while calculat ``template detail::to_centroid boost::geometry::index::to_centroid(T const & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `T const &` ][ `v` ][Point or bound value. ]] @@ -50,7 +50,7 @@ Generate a nearest query Point and Value's Indexable relationship while calculat ``template detail::to_furthest boost::geometry::index::to_furthest(T const & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `T const &` ][ `v` ][Point or bound value. ]] @@ -65,7 +65,7 @@ Generate a distance predicate. This defines distances bounds which are used by k ``template detail::unbounded boost::geometry::index::unbounded(PointRelation const & pr)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `PointRelation const &` ][ `pr` ][The point relation. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). ]] @@ -80,11 +80,11 @@ Generate a distance predicate. This defines distances bounds which are used by k ``template detail::min_bounded boost::geometry::index::min_bounded(PointRelation const & pr, MinRelation const & minr)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] -[[ `PointRelation const &` ][ `pr` ][The point relation. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). ]] -[[ `MinRelation const &` ][ `minr` ][The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance). ]] +[[ `PointRelation const &` ][ `pr` ][The point relation. This may be generated by [^bgi::to_nearest(Point)], [^bgi::to_centroid(Point)] or [^bgi::to_furthest(Point)]. ]] +[[ `MinRelation const &` ][ `minr` ][The minimum bound relation. This may be generated by [^bgi::to_nearest(min_distance)], [^bgi::to_centroid(min_distance)] or [^bgi::to_furthest(min_distance)]. ]] ] [endsect] @@ -96,11 +96,11 @@ Generate a distance predicate. This defines distances bounds which are used by k ``template detail::max_bounded boost::geometry::index::max_bounded(PointRelation const & pr, MaxRelation const & maxr)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] -[[ `PointRelation const &` ][ `pr` ][The point relation. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). ]] -[[ `MaxRelation const &` ][ `maxr` ][The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance). ]] +[[ `PointRelation const &` ][ `pr` ][The point relation. This may be generated by [^bgi::to_nearest(Point)], [^bgi::to_centroid(Point)] or [^bgi::to_furthest(Point)]. ]] +[[ `MaxRelation const &` ][ `maxr` ][The maximum bound relation. This may be generated by [^bgi::to_nearest(max_distance)], [^bgi::to_centroid(max_distance)] or [^bgi::to_furthest(max_distance)]. ]] ] [endsect] @@ -116,12 +116,12 @@ detail::bounded boost::geometry::index: MinRelation const & minr, MaxRelation const & maxr)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] -[[ `PointRelation const &` ][ `pr` ][The point relation. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). ]] -[[ `MinRelation const &` ][ `minr` ][The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance). ]] -[[ `MaxRelation const &` ][ `maxr` ][The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance). ]] +[[ `PointRelation const &` ][ `pr` ][The point relation. This may be generated by [^bgi::to_nearest(Point)], [^bgi::to_centroid(Point)] or [^bgi::to_furthest(Point)]. ]] +[[ `MinRelation const &` ][ `minr` ][The minimum bound relation. This may be generated by [^bgi::to_nearest(min_distance)], [^bgi::to_centroid(min_distance)] or [^bgi::to_furthest(min_distance)]. ]] +[[ `MaxRelation const &` ][ `maxr` ][The maximum bound relation. This may be generated by [^bgi::to_nearest(max_distance)], [^bgi::to_centroid(max_distance)] or [^bgi::to_furthest(max_distance)]. ]] ] [endsect] diff --git a/doc/generated/inserters.qbk b/doc/generated/inserters.qbk index 6c8821b0f..e7db996ad 100644 --- a/doc/generated/inserters.qbk +++ b/doc/generated/inserters.qbk @@ -14,7 +14,7 @@ Returns insert iterator capable to insert values to the container (spatial index ``template insert_iterator boost::geometry::index::inserter(Container & c)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Container &` ][ `c` ][The reference to the container (spatial index) to which values will be inserted.]] diff --git a/doc/generated/predicates.qbk b/doc/generated/predicates.qbk index 7a644dc7f..f4e20cac9 100644 --- a/doc/generated/predicates.qbk +++ b/doc/generated/predicates.qbk @@ -5,11 +5,11 @@ [[Function][Description]] [[[link geometry_index.r_tree.reference.group__predicates.function0 `empty()`]][Generate empty predicate. ]] [[[link geometry_index.r_tree.reference.group__predicates.function1 `value(ValuePredicate const &)`]][Generate value predicate. ]] -[[[link geometry_index.r_tree.reference.group__predicates.function2 `covered_by(Geometry const &)`]][Generate covered_by() predicate. ]] -[[[link geometry_index.r_tree.reference.group__predicates.function3 `disjoint(Geometry const &)`]][Generate disjoint() predicate. ]] -[[[link geometry_index.r_tree.reference.group__predicates.function4 `intersects(Geometry const &)`]][Generate intersects() predicate. ]] -[[[link geometry_index.r_tree.reference.group__predicates.function5 `overlaps(Geometry const &)`]][Generate overlaps() predicate. ]] -[[[link geometry_index.r_tree.reference.group__predicates.function6 `within(Geometry const &)`]][Generate within() predicate. ]] +[[[link geometry_index.r_tree.reference.group__predicates.function2 `covered_by(Geometry const &)`]][Generate [^covered_by()] predicate. ]] +[[[link geometry_index.r_tree.reference.group__predicates.function3 `disjoint(Geometry const &)`]][Generate [^disjoint()] predicate. ]] +[[[link geometry_index.r_tree.reference.group__predicates.function4 `intersects(Geometry const &)`]][Generate [^intersects()] predicate. ]] +[[[link geometry_index.r_tree.reference.group__predicates.function5 `overlaps(Geometry const &)`]][Generate [^overlaps()] predicate. ]] +[[[link geometry_index.r_tree.reference.group__predicates.function6 `within(Geometry const &)`]][Generate [^within()] predicate. ]] ] [section:function0 empty()] @@ -28,7 +28,7 @@ A wrapper around user-defined functor describing if Value should be returned by ``template detail::value boost::geometry::index::value(ValuePredicate const & vpred)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `ValuePredicate const &` ][ `vpred` ][The functor. ]] @@ -36,14 +36,14 @@ detail::value boost::geometry::index::value(ValuePredicate const [endsect] [section:function2 covered_by(Geometry const &)] -Generate covered_by() predicate. +Generate [^covered_by()] predicate. [heading Description] -Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if bg::covered_by(Indexable, Geometry) returns true.[heading Synopsis] +Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if [^bg::covered_by(Indexable, Geometry)] returns true.[heading Synopsis] ``template detail::covered_by boost::geometry::index::covered_by(Geometry const & g)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Geometry const &` ][ `g` ][The Geometry object. ]] @@ -51,14 +51,14 @@ detail::covered_by boost::geometry::index::covered_by(Geometry const & [endsect] [section:function3 disjoint(Geometry const &)] -Generate disjoint() predicate. +Generate [^disjoint()] predicate. [heading Description] -Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if bg::disjoint(Indexable, Geometry) returns true.[heading Synopsis] +Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if [^bg::disjoint(Indexable, Geometry)] returns true.[heading Synopsis] ``template detail::disjoint boost::geometry::index::disjoint(Geometry const & g)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Geometry const &` ][ `g` ][The Geometry object. ]] @@ -66,14 +66,14 @@ detail::disjoint boost::geometry::index::disjoint(Geometry const & g)` [endsect] [section:function4 intersects(Geometry const &)] -Generate intersects() predicate. +Generate [^intersects()] predicate. [heading Description] -Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if bg::intersects(Indexable, Geometry) returns true.[heading Synopsis] +Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if [^bg::intersects(Indexable, Geometry)] returns true.[heading Synopsis] ``template detail::intersects boost::geometry::index::intersects(Geometry const & g)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Geometry const &` ][ `g` ][The Geometry object. ]] @@ -81,14 +81,14 @@ detail::intersects boost::geometry::index::intersects(Geometry const & [endsect] [section:function5 overlaps(Geometry const &)] -Generate overlaps() predicate. +Generate [^overlaps()] predicate. [heading Description] -Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if bg::overlaps(Indexable, Geometry) returns true.[heading Synopsis] +Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if [^bg::overlaps(Indexable, Geometry)] returns true.[heading Synopsis] ``template detail::overlaps boost::geometry::index::overlaps(Geometry const & g)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Geometry const &` ][ `g` ][The Geometry object. ]] @@ -96,14 +96,14 @@ detail::overlaps boost::geometry::index::overlaps(Geometry const & g)` [endsect] [section:function6 within(Geometry const &)] -Generate within() predicate. +Generate [^within()] predicate. [heading Description] -Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if bg::within(Indexable, Geometry) returns true.[heading Synopsis] +Generate a predicate defining Value and Geometry relationship. Value will be returned by the query if [^bg::within(Indexable, Geometry)] returns true.[heading Synopsis] ``template detail::within boost::geometry::index::within(Geometry const & g)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Geometry const &` ][ `g` ][The Geometry object. ]] diff --git a/doc/generated/rtree.qbk b/doc/generated/rtree.qbk index 4a677e091..6f5e38351 100644 --- a/doc/generated/rtree.qbk +++ b/doc/generated/rtree.qbk @@ -9,9 +9,32 @@ The R-tree spatial index. The R-tree spatial index. This is self-balancing spatial index capable to store various types of Values and balancing algorithms. [heading Parameters] -The user must pass a type defining the Parameters which will be used in rtree creation process. This type is used e.g. to specify balancing algorithm with specific parameters like min and max number of elements in node. Predefined algorithms with compile-time parameters are: bgi::linear, bgi::quadratic, bgi::rstar. Predefined algorithms with run-time parameters are: bgi::runtime::linear, bgi::runtime::quadratic, bgi::runtime::rstar. +The user must pass a type defining the Parameters which will be used in rtree creation process. This type is used e.g. to specify balancing algorithm with specific parameters like min and max number of elements in node. + + + + +Predefined algorithms with compile-time parameters are: + +* [^bgi::linear], +* [^bgi::quadratic], +* [^bgi::rstar]. + + + + + + +Predefined algorithms with run-time parameters are: + +* [^bgi::runtime::linear], +* [^bgi::runtime::quadratic], +* [^bgi::runtime::rstar]. + + + [heading Translator] -The Translator translates from Value to Indexable each time r-tree requires it. Which means that this operation is done for each Value access. Therefore the Translator should return the Indexable by const reference instead of a value. Default translator can translate all types adapted to Point or Box concepts (which are Indexables). It also handles std::pair, pointers, smart pointers, and iterators. E.g. If std::pair is stored, the default translator translates from std::pair const& to Box const&. +The Translator translates from Value to Indexable each time r-tree requires it. Which means that this operation is done for each Value access. Therefore the Translator should return the Indexable by const reference instead of a value. Default translator can translate all types adapted to Point or Box concepts (called Indexables). It also handles [^std::pair] and [^boost::tuple]. For example, if [^std::pair] is stored in the container, the default translator translates from [^std::pair const&] to [^Box const&]. [heading Header] `#include ` @@ -94,14 +117,14 @@ The constructor. [heading Synopsis] ``rtree(parameters_type parameters = parameters_type(), translator_type const & translator = translator_type())`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `parameters_type` ][ `parameters` ][The parameters object. ]] [[ `translator_type const &` ][ `translator` ][The translator object.]] ] [heading Throws] -If allocator default constructor throws. +If allocator default constructor throws. [endsect] @@ -113,7 +136,7 @@ The constructor. translator_type const & translator, allocator_type allocator)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `parameters_type` ][ `parameters` ][The parameters object. ]] @@ -121,7 +144,7 @@ The constructor. [[ `allocator_type` ][ `allocator` ][The allocator object.]] ] [heading Throws] -If allocator copy constructor throws. +If allocator copy constructor throws. [endsect] @@ -136,7 +159,7 @@ rtree(Iterator first, translator_type const & translator = translator_type(), allocator_type allocator = allocator_type())`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Iterator` ][ `first` ][The beginning of the range of Values. ]] @@ -146,7 +169,14 @@ rtree(Iterator first, [[ `allocator_type` ][ `allocator` ][The allocator object.]] ] [heading Throws] -If allocator copy constructor throws. If Value copy constructor or copy assignment throws. When nodes allocation fails. + + +* If allocator copy constructor throws. +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When memory allocation for Node fails. + + [endsect] @@ -160,7 +190,7 @@ rtree(Range const & rng, translator_type const & translator = translator_type(), allocator_type allocator = allocator_type())`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Range const &` ][ `rng` ][The range of Values. ]] @@ -169,7 +199,14 @@ rtree(Range const & rng, [[ `allocator_type` ][ `allocator` ][The allocator object.]] ] [heading Throws] -If allocator copy constructor throws. If Value copy constructor or copy assignment throws. When nodes allocation fails. + + +* If allocator copy constructor throws. +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When memory allocation for Node fails. + + [endsect] @@ -180,7 +217,7 @@ The destructor. ``~rtree()`` [heading Throws] -Nothing. +Nothing. [endsect] @@ -191,13 +228,20 @@ The copy constructor. It uses parameters, translator and allocator from the source tree.[heading Synopsis] ``rtree(rtree const & src)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree const &` ][ `src` ][The rtree which content will be copied.]] ] [heading Throws] -If allocator copy constructor throws. If Value copy constructor throws. When nodes allocation fails. + + +* If allocator copy constructor throws. +* If Value copy constructor throws. +* If allocation throws. +* When memory allocation for Node fails. + + [endsect] @@ -208,14 +252,21 @@ The copy constructor. It uses Parameters and translator from the source tree.[heading Synopsis] ``rtree(rtree const & src, allocator_type const & allocator)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree const &` ][ `src` ][The rtree which content will be copied. ]] [[ `allocator_type const &` ][ `allocator` ][The allocator which will be used.]] ] [heading Throws] -If allocator copy constructor throws. If Value copy constructor throws. When nodes allocation fails. + + +* If allocator copy constructor throws. +* If Value copy constructor throws. +* If allocation throws. +* When memory allocation for Node fails. + + [endsect] @@ -226,13 +277,13 @@ The moving constructor. It uses parameters, translator and allocator from the source tree.[heading Synopsis] ``rtree(rtree && src)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree &&` ][ `src` ][The rtree which content will be moved.]] ] [heading Throws] -If allocator move constructor throws. +If allocator move constructor throws. [endsect] @@ -243,13 +294,19 @@ The assignment operator. It uses parameters and translator from the source tree.[heading Synopsis] ``rtree & operator=(const rtree & src)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `const rtree &` ][ `src` ][The rtree which content will be copied.]] ] [heading Throws] -If Value copy constructor throws. When nodes allocation fails. + + +* If Value copy constructor throws. +* If allocation throws. +* When nodes allocation fails. + + [endsect] @@ -260,13 +317,19 @@ The moving assignment. It uses parameters and translator from the source tree.[heading Synopsis] ``rtree & operator=(rtree && src)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree &&` ][ `src` ][The rtree which content will be moved.]] ] [heading Throws] -Only if allocators aren't equal. If Value copy constructor throws. When nodes allocation fails. +Only if allocators aren't equal. + +* If Value copy constructor throws. +* If allocation throws. +* When nodes allocation fails. + + [endsect] @@ -277,13 +340,13 @@ Swaps contents of two rtrees. Parameters, translator and allocators are swapped as well.[heading Synopsis] ``void swap(rtree & other)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree &` ][ `other` ][The rtree which content will be swapped with this rtree content.]] ] [heading Throws] -If allocators swap throws. +If allocators swap throws. [endsect] @@ -293,15 +356,21 @@ Insert a value to the index. [heading Synopsis] ``void insert(value_type const & value)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `value_type const &` ][ `value` ][The value which will be stored in the container.]] ] [heading Throws] -If Value copy constructor or copy assignment throws. When nodes allocation fails. -[heading Exception-safety] -This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. + + +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When nodes allocation fails. + + + +[warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. ] [endsect] @@ -312,16 +381,22 @@ Insert a range of values to the index. ``template void insert(Iterator first, Iterator last)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Iterator` ][ `first` ][The beginning of the range of values. ]] [[ `Iterator` ][ `last` ][The end of the range of values.]] ] [heading Throws] -If Value copy constructor or copy assignment throws. When nodes allocation fails. -[heading Exception-safety] -This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. + + +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When nodes allocation fails. + + + +[warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. ] [endsect] @@ -332,15 +407,21 @@ Insert a range of values to the index. ``template void insert(Range const & rng)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Range const &` ][ `rng` ][The range of values.]] ] [heading Throws] -If Value copy constructor or copy assignment throws. When nodes allocation fails. -[heading Exception-safety] -This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. + + +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When nodes allocation fails. + + + +[warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. ] [endsect] @@ -348,10 +429,10 @@ This operation is not thread safe. If it throws, the R-tree may be left in an in Remove a value from the container. [heading Description] -In contrast to the STL set/map erase() method this method removes only one value from the container.[heading Synopsis] +In contrast to the [^std::set] or [^std::map][^erase()] method this method removes only one value from the container.[heading Synopsis] ``size_type remove(value_type const & value)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `value_type const &` ][ `value` ][The value which will be removed from the container.]] @@ -359,9 +440,15 @@ In contrast to the STL set/map erase() method this method removes only one value [heading Returns] 1 if the value was removed, 0 otherwise. [heading Throws] -If Value copy constructor or copy assignment throws. When nodes allocation fails. -[heading Exception-safety] -This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. + + +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When nodes allocation fails. + + + +[warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. ] [endsect] @@ -369,11 +456,11 @@ This operation is not thread safe. If it throws, the R-tree may be left in an in Remove a range of values from the container. [heading Description] -In contrast to the STL set/map erase() method it doesn't take iterators pointing to values stored in this container. It removes values equal to these passed as a range. Furthermore this method removes only one value for each one passed in the range, not all equal values.[heading Synopsis] +In contrast to the [^std::set] or [^std::map][^erase()] method it doesn't take iterators pointing to values stored in this container. It removes values equal to these passed as a range. Furthermore this method removes only one value for each one passed in the range, not all equal values.[heading Synopsis] ``template size_type remove(Iterator first, Iterator last)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Iterator` ][ `first` ][The beginning of the range of values. ]] @@ -382,9 +469,15 @@ size_type remove(Iterator first, Iterator last)`` [heading Returns] The number of removed values. [heading Throws] -If Value copy constructor or copy assignment throws. When nodes allocation fails. -[heading Exception-safety] -This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. + + +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When nodes allocation fails. + + + +[warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. ] [endsect] @@ -392,11 +485,11 @@ This operation is not thread safe. If it throws, the R-tree may be left in an in Remove a range of values from the container. [heading Description] -In contrast to the STL set/map erase() method it removes values equal to these passed as a range. Furthermore, this method removes only one value for each one passed in the range, not all equal values.[heading Synopsis] +In contrast to the [^std::set] or [^std::map][^erase()] method it removes values equal to these passed as a range. Furthermore, this method removes only one value for each one passed in the range, not all equal values.[heading Synopsis] ``template size_type remove(Range const & rng)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Range const &` ][ `rng` ][The range of values.]] @@ -404,9 +497,15 @@ size_type remove(Range const & rng)`` [heading Returns] The number of removed values. [heading Throws] -If Value copy constructor or copy assignment throws. When nodes allocation fails. -[heading Exception-safety] -This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. + + +* If Value copy constructor or copy assignment throws. +* If allocation throws. +* When nodes allocation fails. + + + +[warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. ] [endsect] @@ -414,11 +513,28 @@ This operation is not thread safe. If it throws, the R-tree may be left in an in Finds values meeting spatial predicates, e.g. intersecting some Box. [heading Description] -Spatial predicates may be a Geometry (in this case default predicate - intersects is used) or generated by bgi::covered_by(geometry), bgi::disjoint(geometry), bgi::intersects(geometry), bgi::overlaps(geometry), bgi::within(geometry), !bgi::covered_by(geometry), !bgi::disjoint(geometry), !bgi::intersects(geometry), !bgi::overlaps(geometry), !bgi::within(geometry) or bgi::value(func). Those predicates may be passed together in std::pair or boost::tuple.[heading Synopsis] +[*Spatial predicates] may be a [^Geometry]. In this case Values intersecting the [^Geometry] are returned. + +It may be generated by one of the functions listed below: + +* [^bgi::covered_by(geometry)], +* [^bgi::disjoint(geometry)], +* [^bgi::intersects(geometry)] - default, +* [^bgi::overlaps(geometry)], +* [^bgi::within(geometry)], +* [^!bgi::covered_by(geometry)], +* [^!bgi::disjoint(geometry)], +* [^!bgi::intersects(geometry)], +* [^!bgi::overlaps(geometry)], +* [^!bgi::within(geometry)] +* [^bgi::value(func)]. + + +Those predicates may be passed together in [^std::pair<]...> or [^boost::tuple<]...>.[heading Synopsis] ``template size_type spatial_query(Predicates const & pred, OutIter out_it)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Predicates const &` ][ `pred` ][The spatial predicates or a Geometry. ]] @@ -427,7 +543,12 @@ size_type spatial_query(Predicates const & pred, OutIter out_it)`` [heading Returns] The number of values found. [heading Throws] -If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws. + + +* If Value copy constructor or copy assignment throws. +* If OutIter dereference or increment throws. + + [endsect] @@ -435,11 +556,34 @@ If Value copy constructor or copy assignment throws. If OutIter dereference or i Finds one value meeting distances predicates, e.g. nearest to some Point. [heading Description] -The distances predicates may be a Point. This is default case where Value which nearest point is closest to Point is returned. May be a PointRelation which define how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances bounds. E.g. that some distance must be between min_distance and max_distance. This may be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound).[heading Synopsis] +[*Distances predicates] may be a [^Point]. In this the case the Value closest to [^Point] is returned. + +It is possible to define how distance to Value is calculated. This is done by passing PointRelation. It can be generated by following functions: + +* bgi::to_nearest(Point) - default, +* bgi::to_centroid(Point), +* bgi::to_furthest(Point). + + +It is possible to define define distances bounds, for example that some distance must be between min_distance and max_distance. This is done by passing DistancesPredicates which can be generated by following functions: + +* bgi::unbounded(PointRelation) - default, +* bgi::min_bounded(PointRelation, MinRelation), +* bgi::max_bounded(PointRelation, MaxRelation), +* bgi::bounded(PointRelation, MinRelation, MaxRelation). + + +MinRelation and MaxRelation describes bounds and can be generated by following functions: + +* bgi::to_nearest(some_distance), +* bgi::to_centroid(some_distance), +* bgi::to_furthest(some_distance). + +[heading Synopsis] ``template size_type nearest_query(DistancesPredicates const & dpred, value_type & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `DistancesPredicates const &` ][ `dpred` ][The distances predicates or a Point.]] @@ -448,7 +592,7 @@ size_type nearest_query(DistancesPredicates const & dpred, value_type & v)`` [heading Returns] The number of values found. [heading Throws] -If Value copy constructor or copy assignment throws. +If Value copy constructor or copy assignment throws. [endsect] @@ -456,15 +600,53 @@ If Value copy constructor or copy assignment throws. Finds one value meeting distances predicates and spatial predicates, e.g. nearest to some Point and intersecting some Box. [heading Description] -The distances predicates may be a Point. This is default case where Value which nearest point is closest to Point is returned. May be a PointRelation which define how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances bounds. E.g. that some distance must be between min_distance and max_distance. This may be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound). +[*Distances predicates] may be a [^Point]. In this the case the Value closest to [^Point] is returned. -The spatial predicates. May be a Geometry (in this case default predicate - intersects is used) or generated by bgi::covered_by(geometry), bgi::disjoint(geometry), bgi::intersects(geometry), bgi::overlaps(geometry), bgi::within(geometry), !bgi::covered_by(geometry), !bgi::disjoint(geometry), !bgi::intersects(geometry), !bgi::overlaps(geometry), !bgi::within(geometry) or bgi::value(func). Those predicates may be passed together in std::pair or boost::tuple.[heading Synopsis] +It is possible to define how distance to Value is calculated. This is done by passing PointRelation. It can be generated by following functions: + +* bgi::to_nearest(Point) - default, +* bgi::to_centroid(Point), +* bgi::to_furthest(Point). + + +It is possible to define define distances bounds, for example that some distance must be between min_distance and max_distance. This is done by passing DistancesPredicates which can be generated by following functions: + +* bgi::unbounded(PointRelation) - default, +* bgi::min_bounded(PointRelation, MinRelation), +* bgi::max_bounded(PointRelation, MaxRelation), +* bgi::bounded(PointRelation, MinRelation, MaxRelation). + + +MinRelation and MaxRelation describes bounds and can be generated by following functions: + +* bgi::to_nearest(some_distance), +* bgi::to_centroid(some_distance), +* bgi::to_furthest(some_distance). + +[*Spatial predicates] may be a [^Geometry]. In this case Values intersecting the [^Geometry] are returned. + +It may be generated by one of the functions listed below: + +* [^bgi::covered_by(geometry)], +* [^bgi::disjoint(geometry)], +* [^bgi::intersects(geometry)] - default, +* [^bgi::overlaps(geometry)], +* [^bgi::within(geometry)], +* [^!bgi::covered_by(geometry)], +* [^!bgi::disjoint(geometry)], +* [^!bgi::intersects(geometry)], +* [^!bgi::overlaps(geometry)], +* [^!bgi::within(geometry)] +* [^bgi::value(func)]. + + +Those predicates may be passed together in [^std::pair<]...> or [^boost::tuple<]...>.[heading Synopsis] ``template size_type nearest_query(DistancesPredicates const & dpred, Predicates const & pred, value_type & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `DistancesPredicates const &` ][ `dpred` ][The distances predicates or a Point. ]] @@ -474,7 +656,7 @@ size_type nearest_query(DistancesPredicates const & dpred, [heading Returns] The number of values found. [heading Throws] -If Value copy constructor or copy assignment throws. +If Value copy constructor or copy assignment throws. [endsect] @@ -482,13 +664,36 @@ If Value copy constructor or copy assignment throws. Finds k values meeting distances predicates, e.g. k nearest values to some Point. [heading Description] -The distances predicates. May be a Point. This is default case where Value which nearest point is closest to Point is returned. May be a PointRelation which define how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances bounds. E.g. that some distance must be between min_distance and max_distance. This may be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound).[heading Synopsis] +[*Distances predicates] may be a [^Point]. In this the case the Value closest to [^Point] is returned. + +It is possible to define how distance to Value is calculated. This is done by passing PointRelation. It can be generated by following functions: + +* bgi::to_nearest(Point) - default, +* bgi::to_centroid(Point), +* bgi::to_furthest(Point). + + +It is possible to define define distances bounds, for example that some distance must be between min_distance and max_distance. This is done by passing DistancesPredicates which can be generated by following functions: + +* bgi::unbounded(PointRelation) - default, +* bgi::min_bounded(PointRelation, MinRelation), +* bgi::max_bounded(PointRelation, MaxRelation), +* bgi::bounded(PointRelation, MinRelation, MaxRelation). + + +MinRelation and MaxRelation describes bounds and can be generated by following functions: + +* bgi::to_nearest(some_distance), +* bgi::to_centroid(some_distance), +* bgi::to_furthest(some_distance). + +[heading Synopsis] ``template size_type nearest_query(DistancesPredicates const & dpred, size_t k, OutIter out_it)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `DistancesPredicates const &` ][ `dpred` ][The distances predicates or a Point. ]] @@ -498,7 +703,7 @@ size_type nearest_query(DistancesPredicates const & dpred, [heading Returns] The number of values found. [heading Throws] -If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws. +If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws. [endsect] @@ -506,9 +711,47 @@ If Value copy constructor or copy assignment throws. If OutIter dereference or i Finds k values meeting distances predicates and spatial predicates, e.g. k nearest values to some Point and intersecting some Box. [heading Description] -The distances predicates may be a Point. This is default case where Value which nearest point is closest to Point is returned. May be a PointRelation which define how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances bounds. E.g. that some distance must be between min_distance and max_distance. This may be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound). +[*Distances predicates] may be a [^Point]. In this the case the Value closest to [^Point] is returned. -The spatial predicates. May be a Geometry (in this case default predicate - intersects is used) or generated by bgi::covered_by(geometry), bgi::disjoint(geometry), bgi::intersects(geometry), bgi::overlaps(geometry), bgi::within(geometry), !bgi::covered_by(geometry), !bgi::disjoint(geometry), !bgi::intersects(geometry), !bgi::overlaps(geometry), !bgi::within(geometry) or bgi::value(func). Those predicates may be passed together in std::pair or boost::tuple.[heading Synopsis] +It is possible to define how distance to Value is calculated. This is done by passing PointRelation. It can be generated by following functions: + +* bgi::to_nearest(Point) - default, +* bgi::to_centroid(Point), +* bgi::to_furthest(Point). + + +It is possible to define define distances bounds, for example that some distance must be between min_distance and max_distance. This is done by passing DistancesPredicates which can be generated by following functions: + +* bgi::unbounded(PointRelation) - default, +* bgi::min_bounded(PointRelation, MinRelation), +* bgi::max_bounded(PointRelation, MaxRelation), +* bgi::bounded(PointRelation, MinRelation, MaxRelation). + + +MinRelation and MaxRelation describes bounds and can be generated by following functions: + +* bgi::to_nearest(some_distance), +* bgi::to_centroid(some_distance), +* bgi::to_furthest(some_distance). + +[*Spatial predicates] may be a [^Geometry]. In this case Values intersecting the [^Geometry] are returned. + +It may be generated by one of the functions listed below: + +* [^bgi::covered_by(geometry)], +* [^bgi::disjoint(geometry)], +* [^bgi::intersects(geometry)] - default, +* [^bgi::overlaps(geometry)], +* [^bgi::within(geometry)], +* [^!bgi::covered_by(geometry)], +* [^!bgi::disjoint(geometry)], +* [^!bgi::intersects(geometry)], +* [^!bgi::overlaps(geometry)], +* [^!bgi::within(geometry)] +* [^bgi::value(func)]. + + +Those predicates may be passed together in [^std::pair<]...> or [^boost::tuple<]...>.[heading Synopsis] ``template @@ -517,7 +760,7 @@ size_type nearest_query(DistancesPredicates const & dpred, Predicates const & pred, OutIter out_it)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `DistancesPredicates const &` ][ `dpred` ][The distances predicates or a Point ]] @@ -528,7 +771,7 @@ size_type nearest_query(DistancesPredicates const & dpred, [heading Returns] The number of values found. [heading Throws] -If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws. +If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws. [endsect] @@ -541,7 +784,7 @@ Returns the number of stored values. [heading Returns] The number of stored values. [heading Throws] -Nothing. +Nothing. [endsect] @@ -554,7 +797,7 @@ Query if the container is empty. [heading Returns] true if the container is empty. [heading Throws] -Nothing. +Nothing. [endsect] @@ -565,7 +808,7 @@ Removes all values stored in the container. ``void clear()`` [heading Throws] -Nothing. +Nothing. [endsect] @@ -573,13 +816,13 @@ Nothing. Returns the box containing all values stored in the container. [heading Description] -Returns the box containing all values stored in the container. If the container is empty the result of geometry::assign_inverse() is returned.[heading Synopsis] +Returns the box containing all values stored in the container. If the container is empty the result of [^geometry::assign_inverse()] is returned.[heading Synopsis] ``box_type box()`` [heading Returns] The box containing all values stored in the container or an invalid box if there are no values in the container. [heading Throws] -Nothing. +Nothing. [endsect] @@ -591,7 +834,7 @@ For indexable_type it returns the number of values which indexables equals the p ``template size_type count(ValueOrIndexable const & vori)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `ValueOrIndexable const &` ][ `vori` ][The value or indexable which will be counted.]] @@ -599,7 +842,7 @@ size_type count(ValueOrIndexable const & vori)`` [heading Returns] The number of values found. [heading Throws] -Nothing. +Nothing. [endsect] @@ -612,7 +855,7 @@ Returns parameters. [heading Returns] The parameters object. [heading Throws] -Nothing. +Nothing. [endsect] @@ -625,7 +868,7 @@ Returns the translator object. [heading Returns] The translator object. [heading Throws] -Nothing. +Nothing. [endsect] @@ -638,7 +881,7 @@ Returns allocator used by the rtree. [heading Returns] The allocator. [heading Throws] -If allocator copy constructor throws. +If allocator copy constructor throws. [endsect] diff --git a/doc/generated/rtree_functions.qbk b/doc/generated/rtree_functions.qbk index 9c80b69bd..329aa7e31 100644 --- a/doc/generated/rtree_functions.qbk +++ b/doc/generated/rtree_functions.qbk @@ -30,7 +30,7 @@ Insert a value to the index. typename Allocator> void boost::geometry::index::insert(rtree< Value, Options, Translator, Allocator > & tree, Value const & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > &` ][ `tree` ][The spatial index. ]] @@ -51,7 +51,7 @@ void boost::geometry::index::insert(rtree< Value, Options, Translator, Allocator Iterator first, Iterator last)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > &` ][ `tree` ][The spatial index. ]] @@ -71,7 +71,7 @@ Insert a range of values to the index. typename Range> void boost::geometry::index::insert(rtree< Value, Options, Translator, Allocator > & tree, Range const & rng)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > &` ][ `tree` ][The spatial index. ]] @@ -83,14 +83,14 @@ void boost::geometry::index::insert(rtree< Value, Options, Translator, Allocator Remove a value from the container. [heading Description] -Remove a value from the container. In contrast to the STL set/map erase() method this function removes only one value from the container.[heading Synopsis] +Remove a value from the container. In contrast to the [^std::set] or [^std::map][^erase()] method this function removes only one value from the container.[heading Synopsis] ``template rtree::size_type boost::geometry::index::remove(rtree< Value, Options, Translator, Allocator > & tree, Value const & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > &` ][ `tree` ][The spatial index. ]] @@ -104,7 +104,7 @@ rtree::size_type boost::geometry::index:: Remove a range of values from the container. [heading Description] -Remove a range of values from the container. In contrast to the STL set/map erase() method it doesn't take iterators pointing to values stored in this container. It removes values equal to these passed as a range. Furthermore this function removes only one value for each one passed in the range, not all equal values.[heading Synopsis] +Remove a range of values from the container. In contrast to the [^std::set] or [^std::map][^erase()] method it doesn't take iterators pointing to values stored in this container. It removes values equal to these passed as a range. Furthermore this function removes only one value for each one passed in the range, not all equal values.[heading Synopsis] ``template::size_type boost::geometry::index:: Iterator first, Iterator last)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > &` ][ `tree` ][The spatial index. ]] @@ -129,7 +129,7 @@ The number of removed values. Remove a range of values from the container. [heading Description] -Remove a range of values from the container. In contrast to the STL set/map erase() method it removes values equal to these passed as a range. Furthermore this method removes only one value for each one passed in the range, not all equal values.[heading Synopsis] +Remove a range of values from the container. In contrast to the [^std::set] or [^std::map][^erase()] method it removes values equal to these passed as a range. Furthermore this method removes only one value for each one passed in the range, not all equal values.[heading Synopsis] ``template rtree::size_type boost::geometry::index::remove(rtree< Value, Options, Translator, Allocator > & tree, Range const & rng)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > &` ][ `tree` ][The spatial index. ]] @@ -161,7 +161,7 @@ size_t boost::geometry::index::spatial_query(rtree< Value, Options, Translator, Predicates const & pred, OutIter out_it)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index. ]] @@ -185,7 +185,7 @@ size_t boost::geometry::index::nearest_query(rtree< Value, Options, Translator, DistancesPredicates const & dpred, Value & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index. ]] @@ -211,7 +211,7 @@ size_t boost::geometry::index::nearest_query(rtree< Value, Options, Translator, Predicates const & pred, Value & v)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index. ]] @@ -238,7 +238,7 @@ size_t boost::geometry::index::nearest_query(rtree< Value, Options, Translator, size_t k, OutIter out_it)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index. ]] @@ -267,7 +267,7 @@ size_t boost::geometry::index::nearest_query(rtree< Value, Options, Translator, Predicates const & pred, OutIter out_it)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index. ]] @@ -290,7 +290,7 @@ Remove all values from the index. typename Allocator> void boost::geometry::index::clear(rtree< Value, Options, Translator, Allocator > & tree)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > &` ][ `tree` ][The spatial index. ]] @@ -307,7 +307,7 @@ Get the number of values stored in the index. typename Allocator> size_t boost::geometry::index::size(rtree< Value, Options, Translator, Allocator > const & tree)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index.]] @@ -326,7 +326,7 @@ Query if there are no values stored in the index. typename Allocator> bool boost::geometry::index::empty(rtree< Value, Options, Translator, Allocator > const & tree)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index.]] @@ -345,7 +345,7 @@ Get the box containing all stored values or an invalid box if the index has no v typename Allocator> rtree::box_type boost::geometry::index::box(rtree< Value, Options, Translator, Allocator > const & tree)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `rtree< Value, Options, Translator, Allocator > const &` ][ `tree` ][The spatial index.]] diff --git a/doc/generated/translator_index.qbk b/doc/generated/translator_index.qbk index bf2c39ac7..f01406fec 100644 --- a/doc/generated/translator_index.qbk +++ b/doc/generated/translator_index.qbk @@ -37,7 +37,7 @@ The constructor. [heading Synopsis] ``index(Container const & c)`` -[heading Parameters] +[heading Parameter(s)] [table [[Type][Name][Description]] [[ `Container const &` ][ `c` ][The container which stores indexed values. ]] diff --git a/doc/html/geometry_index/introduction.html b/doc/html/geometry_index/introduction.html index aea9c9dc7..dd8b1efc4 100644 --- a/doc/html/geometry_index/introduction.html +++ b/doc/html/geometry_index/introduction.html @@ -3,7 +3,7 @@ Introduction - + diff --git a/doc/html/geometry_index/r_tree.html b/doc/html/geometry_index/r_tree.html index ece3dc4fb..9ca7cace5 100644 --- a/doc/html/geometry_index/r_tree.html +++ b/doc/html/geometry_index/r_tree.html @@ -3,7 +3,7 @@ R-tree - + diff --git a/doc/html/geometry_index/r_tree/creation_and_modification.html b/doc/html/geometry_index/r_tree/creation_and_modification.html index a79271bfb..300395d3a 100644 --- a/doc/html/geometry_index/r_tree/creation_and_modification.html +++ b/doc/html/geometry_index/r_tree/creation_and_modification.html @@ -3,7 +3,7 @@ Creation and modification - + @@ -55,7 +55,7 @@

rtree<Value, Parameters, Translator = translator::def<Value>, Allocator> = std::allocator<Value> >
 
-
    +
    • Value - type of object which will be stored in the container,
    • @@ -90,7 +90,7 @@ be handled by the default Translator - index::translator::def<Value> are defined as follows:

      -
        +
        • Indexable = Point | Box @@ -116,7 +116,7 @@ A Translator is a type which knows how to handle Values. It has two purposes:

          -
            +
            • it translates Value to a more suitable Indexable type which is needed by most of operations, @@ -134,7 +134,7 @@

              If comparison of two Values is required, the default translator:

              -
                +
                • for Point and Box diff --git a/doc/html/geometry_index/r_tree/introduction.html b/doc/html/geometry_index/r_tree/introduction.html index 89d93898c..b0b2ee116 100644 --- a/doc/html/geometry_index/r_tree/introduction.html +++ b/doc/html/geometry_index/r_tree/introduction.html @@ -3,7 +3,7 @@ Introduction - + @@ -28,10 +28,10 @@

            R-tree is a tree data structure used for spatial searching. It was proposed - by Antonin Guttman in 1984 [1] as an expansion of B-tree for multi-dimensional data. It may + by Antonin Guttman in 1984 [1] as an expansion of B-tree for multi-dimensional data. It may be used to store points or volumetric data in order to perform a spatial query later. This query may return objects that are inside some area or are - close to some point in space [2]. + close to some point in space [2].

            The R-tree structure is presented on the image below. Each R-tree's node @@ -51,7 +51,7 @@

            The R-tree is a self-balanced data structure. The key part of balancing algorithm - is node splitting algorithm [3] [4]. Each algorithm produces different splits so the internal structure + is node splitting algorithm [3] [4]. Each algorithm produces different splits so the internal structure of a tree may be different for each one of them. In general more complex algorithms analyses elements better and produces less overlapping nodes. In the searching process less nodes must be traversed in order to find desired @@ -180,7 +180,7 @@

            Key features of this implementation of the R-tree are:

            -
              +
              • capable to store arbitrary Value type,
              • @@ -201,20 +201,20 @@
              -

              -

              [1] +


              +

              [1] Guttman, A. (1984). R-Trees: A Dynamic Index Structure for Spatial Searching

              -

              [2] +

              [2] Cheung, K.; Fu, A. (1998). Enhanced Nearest Neighbour Search on the R-tree

              -

              [3] +

              [3] Greene, D. (1989). An implementation and performance analysis of spatial data access methods

              -

              [4] +

              [4] Beckmann, N.; Kriegel, H. P.; Schneider, R.; Seeger, B. (1990). The R*-tree: an efficient and robust access method for points and rectangles

              diff --git a/doc/html/geometry_index/r_tree/nearest_neighbours_queries.html b/doc/html/geometry_index/r_tree/nearest_neighbours_queries.html index ffbfe87f5..d13849cbd 100644 --- a/doc/html/geometry_index/r_tree/nearest_neighbours_queries.html +++ b/doc/html/geometry_index/r_tree/nearest_neighbours_queries.html @@ -3,7 +3,7 @@ Nearest neighbours queries - + diff --git a/doc/html/geometry_index/r_tree/reference.html b/doc/html/geometry_index/r_tree/reference.html index d785c260a..8f2622a00 100644 --- a/doc/html/geometry_index/r_tree/reference.html +++ b/doc/html/geometry_index/r_tree/reference.html @@ -3,7 +3,7 @@ Reference - + @@ -45,12 +45,12 @@ boost::geometry::index::rtree

              - + The R-tree spatial index.

              - Description + Description

              The R-tree spatial index. This is self-balancing spatial index capable @@ -58,42 +58,67 @@ The R-tree spatial index.

              - Parameters + Parameters

              The user must pass a type defining the Parameters which will be used in rtree creation process. This type is used e.g. to specify balancing algorithm - with specific parameters like min and max number of elements in node. Predefined - algorithms with compile-time parameters are: bgi::linear<MinElements, - MaxElements>, bgi::quadratic<MinElements, MaxElements>, bgi::rstar<MinElements, - MaxElements, OverlapCostThreshold = 0, ReinsertedElements = MaxElements - * 0.3>. Predefined algorithms with run-time parameters are: bgi::runtime::linear, - bgi::runtime::quadratic, bgi::runtime::rstar. + with specific parameters like min and max number of elements in node.

              +

              + Predefined algorithms with compile-time parameters are: +

              +
                +
              • + bgi::linear<MinElements, MaxElements>, +
              • +
              • + bgi::quadratic<MinElements, MaxElements>, +
              • +
              • + bgi::rstar<MinElements, MaxElements, OverlapCostThreshold + = 0, ReinsertedElements = MaxElements * 0.3>. +
              • +
              +

              + Predefined algorithms with run-time parameters are: +

              +
                +
              • + bgi::runtime::linear, +
              • +
              • + bgi::runtime::quadratic, +
              • +
              • + bgi::runtime::rstar. +
              • +
              - Translator + Translator

              The Translator translates from Value to Indexable each time r-tree requires it. Which means that this operation is done for each Value access. Therefore the Translator should return the Indexable by const reference instead of a value. Default translator can translate all types adapted to Point or - Box concepts (which are Indexables). It also handles std::pair<Indexable, - T>, pointers, smart pointers, and iterators. E.g. If std::pair<Box, - int> is stored, the default translator translates from std::pair<Box, - int> const& to Box const&. + Box concepts (called Indexables). It also handles std::pair<Indexable, + T> and boost::tuple<Indexable, ...>. + For example, if std::pair<Box, int> is stored + in the container, the default translator translates from std::pair<Box, + int> const& to Box const&.

              - Header + Header

              #include <boost/geometry/extensions/index/rtree/rtree.hpp>

              - Synopsis + Synopsis

              @@ -110,7 +135,7 @@ The R-tree spatial index.

              - Template + Template parameter(s)
              @@ -184,7 +209,7 @@ The R-tree spatial index.
              - Typedef(s) + Typedef(s)
              @@ -292,7 +317,7 @@ The R-tree spatial index.
              - Constructor(s) + Constructor(s) and destructor
              @@ -420,7 +445,7 @@ The R-tree spatial index.
              - Member(s) + Member(s)
              @@ -738,7 +763,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -747,7 +772,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -811,7 +836,7 @@ The R-tree spatial index.
              - Throws + Throws

              If allocator default constructor throws. @@ -827,7 +852,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -838,7 +863,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -919,7 +944,7 @@ The R-tree spatial index.
              - Throws + Throws

              If allocator copy constructor throws. @@ -935,7 +960,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -949,7 +974,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1064,12 +1089,22 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If allocator copy constructor throws. If Value copy constructor or copy - assignment throws. When nodes allocation fails. -

              +
                +
              • + If allocator copy constructor throws. +
              • +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When memory allocation for Node fails. +
              • +
              @@ -1081,7 +1116,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -1094,7 +1129,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1193,12 +1228,22 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If allocator copy constructor throws. If Value copy constructor or copy - assignment throws. When nodes allocation fails. -

              +
                +
              • + If allocator copy constructor throws. +
              • +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When memory allocation for Node fails. +
              • +
              @@ -1209,7 +1254,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -1218,7 +1263,7 @@ The R-tree spatial index.

              - Throws + Throws

              Nothing. @@ -1234,14 +1279,14 @@ The R-tree spatial index.

              - Description + Description

              It uses parameters, translator and allocator from the source tree.

              - Synopsis + Synopsis

              @@ -1250,7 +1295,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1296,12 +1341,22 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If allocator copy constructor throws. If Value copy constructor throws. - When nodes allocation fails. -

              +
                +
              • + If allocator copy constructor throws. +
              • +
              • + If Value copy constructor throws. +
              • +
              • + If allocation throws. +
              • +
              • + When memory allocation for Node fails. +
              • +
              @@ -1313,14 +1368,14 @@ The R-tree spatial index.

              - Description + Description

              It uses Parameters and translator from the source tree.

              - Synopsis + Synopsis

              @@ -1329,7 +1384,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1394,12 +1449,22 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If allocator copy constructor throws. If Value copy constructor throws. - When nodes allocation fails. -

              +
                +
              • + If allocator copy constructor throws. +
              • +
              • + If Value copy constructor throws. +
              • +
              • + If allocation throws. +
              • +
              • + When memory allocation for Node fails. +
              • +
              @@ -1411,14 +1476,14 @@ The R-tree spatial index.

              - Description + Description

              It uses parameters, translator and allocator from the source tree.

              - Synopsis + Synopsis

              @@ -1427,7 +1492,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1472,7 +1537,7 @@ The R-tree spatial index.
              - Throws + Throws

              If allocator move constructor throws. @@ -1488,14 +1553,14 @@ The R-tree spatial index.

              - Description + Description

              It uses parameters and translator from the source tree.

              - Synopsis + Synopsis

              @@ -1504,7 +1569,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1550,11 +1615,19 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If Value copy constructor throws. When nodes allocation fails. -

              +
                +
              • + If Value copy constructor throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              @@ -1566,14 +1639,14 @@ The R-tree spatial index.

              - Description + Description

              It uses parameters and translator from the source tree.

              - Synopsis + Synopsis

              @@ -1582,7 +1655,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1627,12 +1700,22 @@ The R-tree spatial index.
              - Throws + Throws

              - Only if allocators aren't equal. If Value copy constructor throws. When - nodes allocation fails. + Only if allocators aren't equal.

              +
                +
              • + If Value copy constructor throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              @@ -1644,14 +1727,14 @@ The R-tree spatial index.

              - Description + Description

              Parameters, translator and allocators are swapped as well.

              - Synopsis + Synopsis

              @@ -1660,7 +1743,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1705,7 +1788,7 @@ The R-tree spatial index.
              - Throws + Throws

              If allocators swap throws. @@ -1721,7 +1804,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -1730,7 +1813,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1775,21 +1858,30 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If Value copy constructor or copy assignment throws. When nodes allocation - fails. -

              -
              - - Exception-safety -
              -

              - This operation is not thread safe. If it throws, the R-tree may be left - in an inconsistent state, elements must not be inserted or removed, methods - may return invalid data. -

              +
                +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              +
              + + + + + +
              [Warning]Warning

              + This operation is not thread safe. If it throws, the R-tree may be + left in an inconsistent state, elements must not be inserted or removed, + methods may return invalid data. +

              @@ -1801,7 +1893,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -1811,7 +1903,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1875,21 +1967,30 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If Value copy constructor or copy assignment throws. When nodes allocation - fails. -

              -
              - - Exception-safety -
              -

              - This operation is not thread safe. If it throws, the R-tree may be left - in an inconsistent state, elements must not be inserted or removed, methods - may return invalid data. -

              +
                +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              +
              + + + + + +
              [Warning]Warning

              + This operation is not thread safe. If it throws, the R-tree may be + left in an inconsistent state, elements must not be inserted or removed, + methods may return invalid data. +

              @@ -1901,7 +2002,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -1911,7 +2012,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -1957,21 +2058,30 @@ The R-tree spatial index.
              - Throws + Throws
              -

              - If Value copy constructor or copy assignment throws. When nodes allocation - fails. -

              -
              - - Exception-safety -
              -

              - This operation is not thread safe. If it throws, the R-tree may be left - in an inconsistent state, elements must not be inserted or removed, methods - may return invalid data. -

              +
                +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              +
              + + + + + +
              [Warning]Warning

              + This operation is not thread safe. If it throws, the R-tree may be + left in an inconsistent state, elements must not be inserted or removed, + methods may return invalid data. +

              @@ -1983,15 +2093,15 @@ The R-tree spatial index.

              - Description + Description

              - In contrast to the STL set/map erase() method this method removes only - one value from the container. + In contrast to the std::set or std::maperase() + method this method removes only one value from the container.

              - Synopsis + Synopsis

              @@ -2000,7 +2110,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2045,28 +2155,37 @@ The R-tree spatial index.
              - Returns + Returns

              1 if the value was removed, 0 otherwise.

              - Throws + Throws
              -

              - If Value copy constructor or copy assignment throws. When nodes allocation - fails. -

              -
              - - Exception-safety -
              -

              - This operation is not thread safe. If it throws, the R-tree may be left - in an inconsistent state, elements must not be inserted or removed, methods - may return invalid data. -

              +
                +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              +
              + + + + + +
              [Warning]Warning

              + This operation is not thread safe. If it throws, the R-tree may be + left in an inconsistent state, elements must not be inserted or removed, + methods may return invalid data. +

              @@ -2078,17 +2197,18 @@ The R-tree spatial index.

              - Description + Description

              - In contrast to the STL set/map erase() method it doesn't take iterators - pointing to values stored in this container. It removes values equal - to these passed as a range. Furthermore this method removes only one - value for each one passed in the range, not all equal values. + In contrast to the std::set or std::maperase() + method it doesn't take iterators pointing to values stored in this container. + It removes values equal to these passed as a range. Furthermore this + method removes only one value for each one passed in the range, not all + equal values.

              - Synopsis + Synopsis

              @@ -2098,7 +2218,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2162,28 +2282,37 @@ The R-tree spatial index.
              - Returns + Returns

              The number of removed values.

              - Throws + Throws
              -

              - If Value copy constructor or copy assignment throws. When nodes allocation - fails. -

              -
              - - Exception-safety -
              -

              - This operation is not thread safe. If it throws, the R-tree may be left - in an inconsistent state, elements must not be inserted or removed, methods - may return invalid data. -

              +
                +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              +
              + + + + + +
              [Warning]Warning

              + This operation is not thread safe. If it throws, the R-tree may be + left in an inconsistent state, elements must not be inserted or removed, + methods may return invalid data. +

              @@ -2195,16 +2324,17 @@ The R-tree spatial index.

              - Description + Description

              - In contrast to the STL set/map erase() method it removes values equal - to these passed as a range. Furthermore, this method removes only one - value for each one passed in the range, not all equal values. + In contrast to the std::set or std::maperase() + method it removes values equal to these passed as a range. Furthermore, + this method removes only one value for each one passed in the range, + not all equal values.

              - Synopsis + Synopsis

              @@ -2214,7 +2344,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2260,28 +2390,37 @@ The R-tree spatial index.
              - Returns + Returns

              The number of removed values.

              - Throws + Throws
              -

              - If Value copy constructor or copy assignment throws. When nodes allocation - fails. -

              -
              - - Exception-safety -
              -

              - This operation is not thread safe. If it throws, the R-tree may be left - in an inconsistent state, elements must not be inserted or removed, methods - may return invalid data. -

              +
                +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If allocation throws. +
              • +
              • + When nodes allocation fails. +
              • +
              +
              + + + + + +
              [Warning]Warning

              + This operation is not thread safe. If it throws, the R-tree may be + left in an inconsistent state, elements must not be inserted or removed, + methods may return invalid data. +

              @@ -2293,19 +2432,58 @@ The R-tree spatial index.

              - Description + Description

              - Spatial predicates may be a Geometry (in this case default predicate - - intersects is used) or generated by bgi::covered_by(geometry), bgi::disjoint(geometry), - bgi::intersects(geometry), bgi::overlaps(geometry), bgi::within(geometry), - !bgi::covered_by(geometry), !bgi::disjoint(geometry), !bgi::intersects(geometry), - !bgi::overlaps(geometry), !bgi::within(geometry) or bgi::value(func). - Those predicates may be passed together in std::pair or boost::tuple. + Spatial predicates may be a Geometry. + In this case Values intersecting the Geometry are + returned. +

              +

              + It may be generated by one of the functions listed below: +

              +
                +
              • + bgi::covered_by(geometry), +
              • +
              • + bgi::disjoint(geometry), +
              • +
              • + bgi::intersects(geometry) - default, +
              • +
              • + bgi::overlaps(geometry), +
              • +
              • + bgi::within(geometry), +
              • +
              • + !bgi::covered_by(geometry), +
              • +
              • + !bgi::disjoint(geometry), +
              • +
              • + !bgi::intersects(geometry), +
              • +
              • + !bgi::overlaps(geometry), +
              • +
              • + !bgi::within(geometry) +
              • +
              • + bgi::value(func). +
              • +
              +

              + Those predicates may be passed together in std::pair<...> + or boost::tuple<...>.

              - Synopsis + Synopsis

              @@ -2315,7 +2493,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2380,19 +2558,23 @@ The R-tree spatial index.
              - Returns + Returns

              The number of values found.

              - Throws + Throws
              -

              - If Value copy constructor or copy assignment throws. If OutIter dereference - or increment throws. -

              +
                +
              • + If Value copy constructor or copy assignment throws. +
              • +
              • + If OutIter dereference or increment throws. +
              • +
              @@ -2404,24 +2586,64 @@ The R-tree spatial index.

              - Description + Description

              - The distances predicates may be a Point. This is default case where Value - which nearest point is closest to Point is returned. May be a PointRelation - which define how distance to Value is calculated. This may be generated - by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). - DistancesPredicates may also define distances bounds. E.g. that some - distance must be between min_distance and max_distance. This may be generated - by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, - MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, - MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds - and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) - or bgi::to_furthest(dist_bound). + Distances predicates may be a Point. + In this the case the Value closest to Point is returned.

              +

              + It is possible to define how distance to Value is calculated. This is + done by passing PointRelation. It can be generated by following functions: +

              +
                +
              • + bgi::to_nearest(Point) - default, +
              • +
              • + bgi::to_centroid(Point), +
              • +
              • + bgi::to_furthest(Point). +
              • +
              +

              + It is possible to define define distances bounds, for example that some + distance must be between min_distance and max_distance. This is done + by passing DistancesPredicates which can be generated by following functions: +

              +
                +
              • + bgi::unbounded(PointRelation) - default, +
              • +
              • + bgi::min_bounded(PointRelation, MinRelation), +
              • +
              • + bgi::max_bounded(PointRelation, MaxRelation), +
              • +
              • + bgi::bounded(PointRelation, MinRelation, MaxRelation). +
              • +
              +

              + MinRelation and MaxRelation describes bounds and can be generated by + following functions: +

              +
                +
              • + bgi::to_nearest(some_distance), +
              • +
              • + bgi::to_centroid(some_distance), +
              • +
              • + bgi::to_furthest(some_distance). +
              • +
              - Synopsis + Synopsis

              @@ -2431,7 +2653,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2496,14 +2718,14 @@ The R-tree spatial index.
              - Returns + Returns

              The number of values found.

              - Throws + Throws

              If Value copy constructor or copy assignment throws. @@ -2520,32 +2742,111 @@ The R-tree spatial index.

              - Description + Description

              - The distances predicates may be a Point. This is default case where Value - which nearest point is closest to Point is returned. May be a PointRelation - which define how distance to Value is calculated. This may be generated - by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). - DistancesPredicates may also define distances bounds. E.g. that some - distance must be between min_distance and max_distance. This may be generated - by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, - MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, - MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds - and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) - or bgi::to_furthest(dist_bound). + Distances predicates may be a Point. + In this the case the Value closest to Point is returned.

              - The spatial predicates. May be a Geometry (in this case default predicate - - intersects is used) or generated by bgi::covered_by(geometry), bgi::disjoint(geometry), - bgi::intersects(geometry), bgi::overlaps(geometry), bgi::within(geometry), - !bgi::covered_by(geometry), !bgi::disjoint(geometry), !bgi::intersects(geometry), - !bgi::overlaps(geometry), !bgi::within(geometry) or bgi::value(func). - Those predicates may be passed together in std::pair or boost::tuple. + It is possible to define how distance to Value is calculated. This is + done by passing PointRelation. It can be generated by following functions: +

              +
                +
              • + bgi::to_nearest(Point) - default, +
              • +
              • + bgi::to_centroid(Point), +
              • +
              • + bgi::to_furthest(Point). +
              • +
              +

              + It is possible to define define distances bounds, for example that some + distance must be between min_distance and max_distance. This is done + by passing DistancesPredicates which can be generated by following functions: +

              +
                +
              • + bgi::unbounded(PointRelation) - default, +
              • +
              • + bgi::min_bounded(PointRelation, MinRelation), +
              • +
              • + bgi::max_bounded(PointRelation, MaxRelation), +
              • +
              • + bgi::bounded(PointRelation, MinRelation, MaxRelation). +
              • +
              +

              + MinRelation and MaxRelation describes bounds and can be generated by + following functions: +

              +
                +
              • + bgi::to_nearest(some_distance), +
              • +
              • + bgi::to_centroid(some_distance), +
              • +
              • + bgi::to_furthest(some_distance). +
              • +
              +

              + Spatial predicates may be a Geometry. + In this case Values intersecting the Geometry are + returned. +

              +

              + It may be generated by one of the functions listed below: +

              +
                +
              • + bgi::covered_by(geometry), +
              • +
              • + bgi::disjoint(geometry), +
              • +
              • + bgi::intersects(geometry) - default, +
              • +
              • + bgi::overlaps(geometry), +
              • +
              • + bgi::within(geometry), +
              • +
              • + !bgi::covered_by(geometry), +
              • +
              • + !bgi::disjoint(geometry), +
              • +
              • + !bgi::intersects(geometry), +
              • +
              • + !bgi::overlaps(geometry), +
              • +
              • + !bgi::within(geometry) +
              • +
              • + bgi::value(func). +
              • +
              +

              + Those predicates may be passed together in std::pair<...> + or boost::tuple<...>.

              - Synopsis + Synopsis

              @@ -2557,7 +2858,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2639,14 +2940,14 @@ The R-tree spatial index.
              - Returns + Returns

              The number of values found.

              - Throws + Throws

              If Value copy constructor or copy assignment throws. @@ -2663,24 +2964,64 @@ The R-tree spatial index.

              - Description + Description

              - The distances predicates. May be a Point. This is default case where - Value which nearest point is closest to Point is returned. May be a PointRelation - which define how distance to Value is calculated. This may be generated - by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). - DistancesPredicates may also define distances bounds. E.g. that some - distance must be between min_distance and max_distance. This may be generated - by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, - MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, - MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds - and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) - or bgi::to_furthest(dist_bound). + Distances predicates may be a Point. + In this the case the Value closest to Point is returned.

              +

              + It is possible to define how distance to Value is calculated. This is + done by passing PointRelation. It can be generated by following functions: +

              +
                +
              • + bgi::to_nearest(Point) - default, +
              • +
              • + bgi::to_centroid(Point), +
              • +
              • + bgi::to_furthest(Point). +
              • +
              +

              + It is possible to define define distances bounds, for example that some + distance must be between min_distance and max_distance. This is done + by passing DistancesPredicates which can be generated by following functions: +

              +
                +
              • + bgi::unbounded(PointRelation) - default, +
              • +
              • + bgi::min_bounded(PointRelation, MinRelation), +
              • +
              • + bgi::max_bounded(PointRelation, MaxRelation), +
              • +
              • + bgi::bounded(PointRelation, MinRelation, MaxRelation). +
              • +
              +

              + MinRelation and MaxRelation describes bounds and can be generated by + following functions: +

              +
                +
              • + bgi::to_nearest(some_distance), +
              • +
              • + bgi::to_centroid(some_distance), +
              • +
              • + bgi::to_furthest(some_distance). +
              • +
              - Synopsis + Synopsis

              @@ -2692,7 +3033,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2774,14 +3115,14 @@ The R-tree spatial index.
              - Returns + Returns

              The number of values found.

              - Throws + Throws

              If Value copy constructor or copy assignment throws. If OutIter dereference @@ -2799,32 +3140,111 @@ The R-tree spatial index.

              - Description + Description

              - The distances predicates may be a Point. This is default case where Value - which nearest point is closest to Point is returned. May be a PointRelation - which define how distance to Value is calculated. This may be generated - by bgi::to_nearest(Point), bgi::to_centroid(Point) or bgi::to_furthest(Point). - DistancesPredicates may also define distances bounds. E.g. that some - distance must be between min_distance and max_distance. This may be generated - by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, - MinRelation), bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, - MinRelation, MaxRelation). MinRelation and MaxRelation describes bounds - and may be generated by bgi::to_nearest(dist_bound), bgi::to_centroid(dist_bound) - or bgi::to_furthest(dist_bound). + Distances predicates may be a Point. + In this the case the Value closest to Point is returned.

              - The spatial predicates. May be a Geometry (in this case default predicate - - intersects is used) or generated by bgi::covered_by(geometry), bgi::disjoint(geometry), - bgi::intersects(geometry), bgi::overlaps(geometry), bgi::within(geometry), - !bgi::covered_by(geometry), !bgi::disjoint(geometry), !bgi::intersects(geometry), - !bgi::overlaps(geometry), !bgi::within(geometry) or bgi::value(func). - Those predicates may be passed together in std::pair or boost::tuple. + It is possible to define how distance to Value is calculated. This is + done by passing PointRelation. It can be generated by following functions: +

              +
                +
              • + bgi::to_nearest(Point) - default, +
              • +
              • + bgi::to_centroid(Point), +
              • +
              • + bgi::to_furthest(Point). +
              • +
              +

              + It is possible to define define distances bounds, for example that some + distance must be between min_distance and max_distance. This is done + by passing DistancesPredicates which can be generated by following functions: +

              +
                +
              • + bgi::unbounded(PointRelation) - default, +
              • +
              • + bgi::min_bounded(PointRelation, MinRelation), +
              • +
              • + bgi::max_bounded(PointRelation, MaxRelation), +
              • +
              • + bgi::bounded(PointRelation, MinRelation, MaxRelation). +
              • +
              +

              + MinRelation and MaxRelation describes bounds and can be generated by + following functions: +

              +
                +
              • + bgi::to_nearest(some_distance), +
              • +
              • + bgi::to_centroid(some_distance), +
              • +
              • + bgi::to_furthest(some_distance). +
              • +
              +

              + Spatial predicates may be a Geometry. + In this case Values intersecting the Geometry are + returned. +

              +

              + It may be generated by one of the functions listed below: +

              +
                +
              • + bgi::covered_by(geometry), +
              • +
              • + bgi::disjoint(geometry), +
              • +
              • + bgi::intersects(geometry) - default, +
              • +
              • + bgi::overlaps(geometry), +
              • +
              • + bgi::within(geometry), +
              • +
              • + !bgi::covered_by(geometry), +
              • +
              • + !bgi::disjoint(geometry), +
              • +
              • + !bgi::intersects(geometry), +
              • +
              • + !bgi::overlaps(geometry), +
              • +
              • + !bgi::within(geometry) +
              • +
              • + bgi::value(func). +
              • +
              +

              + Those predicates may be passed together in std::pair<...> + or boost::tuple<...>.

              - Synopsis + Synopsis

              @@ -2839,7 +3259,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -2938,14 +3358,14 @@ The R-tree spatial index.
              - Returns + Returns

              The number of values found.

              - Throws + Throws

              If Value copy constructor or copy assignment throws. If OutIter dereference @@ -2961,7 +3381,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -2970,14 +3390,14 @@ The R-tree spatial index.

              - Returns + Returns

              The number of stored values.

              - Throws + Throws

              Nothing. @@ -2992,7 +3412,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3001,14 +3421,14 @@ The R-tree spatial index.

              - Returns + Returns

              true if the container is empty.

              - Throws + Throws

              Nothing. @@ -3023,7 +3443,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3032,7 +3452,7 @@ The R-tree spatial index.

              - Throws + Throws

              Nothing. @@ -3047,15 +3467,16 @@ The R-tree spatial index.

              - Description + Description

              Returns the box containing all values stored in the container. If the - container is empty the result of geometry::assign_inverse() is returned. + container is empty the result of geometry::assign_inverse() + is returned.

              - Synopsis + Synopsis

              @@ -3064,7 +3485,7 @@ The R-tree spatial index.

              - Returns + Returns

              The box containing all values stored in the container or an invalid box @@ -3072,7 +3493,7 @@ The R-tree spatial index.

              - Throws + Throws

              Nothing. @@ -3088,7 +3509,7 @@ The R-tree spatial index.

              - Description + Description

              For indexable_type it returns the number of values which indexables equals @@ -3097,7 +3518,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3107,7 +3528,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -3153,14 +3574,14 @@ The R-tree spatial index.
              - Returns + Returns

              The number of values found.

              - Throws + Throws

              Nothing. @@ -3175,7 +3596,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3184,14 +3605,14 @@ The R-tree spatial index.

              - Returns + Returns

              The parameters object.

              - Throws + Throws

              Nothing. @@ -3206,7 +3627,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3215,14 +3636,14 @@ The R-tree spatial index.

              - Returns + Returns

              The translator object.

              - Throws + Throws

              Nothing. @@ -3237,7 +3658,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3246,14 +3667,14 @@ The R-tree spatial index.

              - Returns + Returns

              The allocator.

              - Throws + Throws

              If allocator copy constructor throws. @@ -3510,7 +3931,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3523,7 +3944,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -3602,7 +4023,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3618,7 +4039,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -3713,7 +4134,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -3727,7 +4148,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -3806,15 +4227,16 @@ The R-tree spatial index.

              - Description + Description

              - Remove a value from the container. In contrast to the STL set/map erase() - method this function removes only one value from the container. + Remove a value from the container. In contrast to the std::set + or std::maperase() method this + function removes only one value from the container.

              - Synopsis + Synopsis

              @@ -3827,7 +4249,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -3897,7 +4319,7 @@ The R-tree spatial index.
              - Returns + Returns

              1 if value was removed, 0 otherwise. @@ -3913,18 +4335,18 @@ The R-tree spatial index.

              - Description + Description

              - Remove a range of values from the container. In contrast to the STL set/map - erase() method it doesn't take iterators pointing to values stored in - this container. It removes values equal to these passed as a range. Furthermore - this function removes only one value for each one passed in the range, - not all equal values. + Remove a range of values from the container. In contrast to the std::set + or std::maperase() method it doesn't + take iterators pointing to values stored in this container. It removes + values equal to these passed as a range. Furthermore this function removes + only one value for each one passed in the range, not all equal values.

              - Synopsis + Synopsis

              @@ -3940,7 +4362,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4026,7 +4448,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of removed values. @@ -4042,17 +4464,17 @@ The R-tree spatial index.

              - Description + Description

              - Remove a range of values from the container. In contrast to the STL set/map - erase() method it removes values equal to these passed as a range. Furthermore - this method removes only one value for each one passed in the range, - not all equal values. + Remove a range of values from the container. In contrast to the std::set + or std::maperase() method it removes + values equal to these passed as a range. Furthermore this method removes + only one value for each one passed in the range, not all equal values.

              - Synopsis + Synopsis

              @@ -4066,7 +4488,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4136,7 +4558,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of removed values. @@ -4152,7 +4574,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4169,7 +4591,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4255,7 +4677,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of found values. @@ -4271,7 +4693,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4287,7 +4709,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4374,7 +4796,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of found values. @@ -4391,7 +4813,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4409,7 +4831,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4513,7 +4935,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of found values. @@ -4529,7 +4951,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4547,7 +4969,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4651,7 +5073,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of found values. @@ -4668,7 +5090,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4688,7 +5110,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4809,7 +5231,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of found values. @@ -4825,7 +5247,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4838,7 +5260,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4897,7 +5319,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4910,7 +5332,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -4960,7 +5382,7 @@ The R-tree spatial index.
              - Returns + Returns

              The number of values stored in the index. @@ -4976,7 +5398,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -4989,7 +5411,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5039,7 +5461,7 @@ The R-tree spatial index.
              - Returns + Returns

              true if there are no values in the index. @@ -5056,7 +5478,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -5069,7 +5491,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5119,7 +5541,7 @@ The R-tree spatial index.
              - Returns + Returns

              The box containing all stored values or an invalid box. @@ -5183,7 +5605,7 @@ The R-tree spatial index.

              - Generate covered_by() predicate. + Generate covered_by() predicate.

              @@ -5196,7 +5618,7 @@ The R-tree spatial index.

              - Generate disjoint() predicate. + Generate disjoint() predicate.

              @@ -5209,7 +5631,7 @@ The R-tree spatial index.

              - Generate intersects() predicate. + Generate intersects() predicate.

              @@ -5222,7 +5644,7 @@ The R-tree spatial index.

              - Generate overlaps() predicate. + Generate overlaps() predicate.

              @@ -5235,7 +5657,7 @@ The R-tree spatial index.

              - Generate within() predicate. + Generate within() predicate.

              @@ -5250,7 +5672,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -5268,7 +5690,7 @@ The R-tree spatial index.

              - Description + Description

              A wrapper around user-defined functor describing if Value should be returned @@ -5276,7 +5698,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -5286,7 +5708,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5336,20 +5758,20 @@ The R-tree spatial index. const &)

              - Generate covered_by() predicate. + Generate covered_by() predicate.

              - Description + Description

              Generate a predicate defining Value and Geometry relationship. Value - will be returned by the query if bg::covered_by(Indexable, Geometry) + will be returned by the query if bg::covered_by(Indexable, Geometry) returns true.

              - Synopsis + Synopsis

              @@ -5359,7 +5781,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5410,20 +5832,20 @@ The R-tree spatial index. const &)

              - Generate disjoint() predicate. + Generate disjoint() predicate.

              - Description + Description

              Generate a predicate defining Value and Geometry relationship. Value - will be returned by the query if bg::disjoint(Indexable, Geometry) returns - true. + will be returned by the query if bg::disjoint(Indexable, Geometry) + returns true.

              - Synopsis + Synopsis

              @@ -5433,7 +5855,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5484,20 +5906,20 @@ The R-tree spatial index. const &)

              - Generate intersects() predicate. + Generate intersects() predicate.

              - Description + Description

              Generate a predicate defining Value and Geometry relationship. Value - will be returned by the query if bg::intersects(Indexable, Geometry) + will be returned by the query if bg::intersects(Indexable, Geometry) returns true.

              - Synopsis + Synopsis

              @@ -5507,7 +5929,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5558,20 +5980,20 @@ The R-tree spatial index. const &)

              - Generate overlaps() predicate. + Generate overlaps() predicate.

              - Description + Description

              Generate a predicate defining Value and Geometry relationship. Value - will be returned by the query if bg::overlaps(Indexable, Geometry) returns - true. + will be returned by the query if bg::overlaps(Indexable, Geometry) + returns true.

              - Synopsis + Synopsis

              @@ -5581,7 +6003,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5632,20 +6054,20 @@ The R-tree spatial index. const &)

              - Generate within() predicate. + Generate within() predicate.

              - Description + Description

              Generate a predicate defining Value and Geometry relationship. Value - will be returned by the query if bg::within(Indexable, Geometry) returns - true. + will be returned by the query if bg::within(Indexable, Geometry) + returns true.

              - Synopsis + Synopsis

              @@ -5655,7 +6077,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5832,7 +6254,7 @@ The R-tree spatial index.

              - Description + Description

              Generate a nearest query Point and Value's Indexable relationship while @@ -5845,7 +6267,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -5855,7 +6277,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5910,7 +6332,7 @@ The R-tree spatial index.

              - Description + Description

              Generate a nearest query Point and Value's Indexable relationship while @@ -5921,7 +6343,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -5931,7 +6353,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -5986,7 +6408,7 @@ The R-tree spatial index.

              - Description + Description

              Generate a nearest query Point and Value's Indexable relationship while @@ -5999,7 +6421,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6009,7 +6431,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -6064,7 +6486,7 @@ The R-tree spatial index.

              - Description + Description

              Generate a distance predicate. This defines distances bounds which are @@ -6075,7 +6497,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6085,7 +6507,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -6140,7 +6562,7 @@ The R-tree spatial index.

              - Description + Description

              Generate a distance predicate. This defines distances bounds which are @@ -6153,7 +6575,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6163,7 +6585,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -6202,8 +6624,8 @@ The R-tree spatial index. @@ -6220,8 +6642,8 @@ The R-tree spatial index. @@ -6238,7 +6660,7 @@ The R-tree spatial index.

              - Description + Description

              Generate a distance predicate. This defines distances bounds which are @@ -6251,7 +6673,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6261,7 +6683,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)

              - The point relation. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). + The point relation. This may be generated by bgi::to_nearest(Point), + bgi::to_centroid(Point) or bgi::to_furthest(Point).

              - The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), - bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance). + The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), + bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance).

              @@ -6300,8 +6722,8 @@ The R-tree spatial index. @@ -6318,8 +6740,8 @@ The R-tree spatial index. @@ -6336,7 +6758,7 @@ The R-tree spatial index.

              - Description + Description

              Generate a distance predicate. This defines distances bounds which are @@ -6350,7 +6772,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6364,7 +6786,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)

              - The point relation. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). + The point relation. This may be generated by bgi::to_nearest(Point), + bgi::to_centroid(Point) or bgi::to_furthest(Point).

              - The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), - bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance). + The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), + bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance).

              @@ -6403,8 +6825,8 @@ The R-tree spatial index. @@ -6421,8 +6843,8 @@ The R-tree spatial index. @@ -6439,8 +6861,8 @@ The R-tree spatial index. @@ -6523,7 +6945,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6535,7 +6957,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)

              - The point relation. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). + The point relation. This may be generated by bgi::to_nearest(Point), + bgi::to_centroid(Point) or bgi::to_furthest(Point).

              - The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), - bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance). + The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), + bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance).

              - The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), - bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance). + The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), + bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance).

              @@ -6626,7 +7048,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6636,7 +7058,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -6710,7 +7132,7 @@ The R-tree spatial index.

              - Synopsis + Synopsis

              @@ -6720,7 +7142,7 @@ The R-tree spatial index.

              - Parameters + Parameter(s)
              @@ -6775,12 +7197,12 @@ The R-tree spatial index. boost::geometry::index::translator::def

              - + The default translator.

              - Description + Description

              It translates Value object to Indexable object. The default version handles @@ -6789,14 +7211,14 @@ The default translator.

              - Header + Header

              #include <boost/geometry/extensions/index/translator/def.hpp>

              - Synopsis + Synopsis

              @@ -6810,7 +7232,7 @@ The default translator.

              - Template + Template parameter(s)
              @@ -6849,12 +7271,12 @@ The default translator. boost::geometry::index::translator::index

              - + The index translator.

              - Description + Description

              This translator translates from index of an element in an external Container @@ -6865,14 +7287,14 @@ The index translator.

              - Header + Header

              #include <boost/geometry/extensions/index/translator/index.hpp>

              - Synopsis + Synopsis

              @@ -6886,7 +7308,7 @@ The index translator.

              - Template + Template parameter(s)
              @@ -6921,7 +7343,7 @@ The index translator.
              - Constructor(s) + Constructor(s) and destructor
              @@ -6964,14 +7386,14 @@ The index translator. The constructor.

              - Synopsis + Synopsis

              index(Container const & c)

              - Parameters + Parameter(s)
              @@ -7061,7 +7483,7 @@ The index translator.

              - Description + Description

              Returns insert iterator capable to insert values to the container (spatial @@ -7069,7 +7491,7 @@ The index translator.

              - Synopsis + Synopsis

              @@ -7079,7 +7501,7 @@ The index translator.

              - Parameters + Parameter(s)
              @@ -7125,7 +7547,7 @@ The index translator.
              - Returns + Returns

              The insert iterator inserting values to the container. diff --git a/doc/html/geometry_index/r_tree/rtree_quickstart.html b/doc/html/geometry_index/r_tree/rtree_quickstart.html index 9ec8f8b5c..2e4bf7514 100644 --- a/doc/html/geometry_index/r_tree/rtree_quickstart.html +++ b/doc/html/geometry_index/r_tree/rtree_quickstart.html @@ -3,7 +3,7 @@ Quick Start - + @@ -150,7 +150,7 @@

              - More + More

              More information about the R-tree implementation, other algorithms and queries diff --git a/doc/html/geometry_index/r_tree/spatial_queries.html b/doc/html/geometry_index/r_tree/spatial_queries.html index dc19fd16b..7fee097e3 100644 --- a/doc/html/geometry_index/r_tree/spatial_queries.html +++ b/doc/html/geometry_index/r_tree/spatial_queries.html @@ -3,7 +3,7 @@ Spatial queries - + diff --git a/doc/html/index.html b/doc/html/index.html index 7d07e2e2a..df77e0358 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@ Chapter 1. Geometry Index - + @@ -56,7 +56,7 @@

              - +

              Last revised: January 10, 2013 at 20:11:29 GMT

              Last revised: January 11, 2013 at 04:03:52 GMT


              diff --git a/doc/src/tools/doxygen_xml2qbk/doxygen_elements.hpp b/doc/src/tools/doxygen_xml2qbk/doxygen_elements.hpp index e52918822..35d79a12e 100644 --- a/doc/src/tools/doxygen_xml2qbk/doxygen_elements.hpp +++ b/doc/src/tools/doxygen_xml2qbk/doxygen_elements.hpp @@ -110,6 +110,8 @@ struct element : public base_element std::vector parameters; std::vector paragraphs; + std::string warning; + std::string note; element() : line(0) diff --git a/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp b/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp index 69eb25fd2..cc08a6b79 100644 --- a/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp +++ b/doc/src/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp @@ -77,7 +77,7 @@ static void parse_para(rapidxml::xml_node<>* node, std::string& contents, bool& } else if ( boost::equals(name, "itemizedlist") ) { - contents += "\n"; + contents += "\n\n"; parse_para(node->first_node(), contents, skip); contents += "\n"; parse_para(node->next_sibling(), contents, skip); @@ -402,6 +402,14 @@ static void parse_element(rapidxml::xml_node<>* node, configuration const& confi el.paragraphs.push_back(p); } + else if (kind == "warning") + { + parse_para(node->first_node("para"), el.warning, el.skip); + } + else if (kind == "note") + { + parse_para(node->first_node("para"), el.note, el.skip); + } } else if (full == ".param") { diff --git a/doc/src/tools/doxygen_xml2qbk/quickbook_output.hpp b/doc/src/tools/doxygen_xml2qbk/quickbook_output.hpp index 31ca80f06..79b859545 100644 --- a/doc/src/tools/doxygen_xml2qbk/quickbook_output.hpp +++ b/doc/src/tools/doxygen_xml2qbk/quickbook_output.hpp @@ -748,6 +748,37 @@ void quickbook_output_function(std::vector const& functions, << std::endl; } +void output_paragraphs_note_warning(element const& el, std::ostream & out) +{ + // Additional paragraphs + if ( !el.paragraphs.empty() ) + { + BOOST_FOREACH(paragraph const& p, el.paragraphs) + { + if ( !p.title.empty() ) + out << "[heading " << p.title << "]" << std::endl; + else + out << "\n\n" << std::endl; + out << p.text << std::endl; + out << std::endl; + } + } + + // Note + if ( !el.note.empty() ) + { + out << "[note " << el.note << "]" << std::endl; + out << std::endl; + } + + // Warning + if ( !el.warning.empty() ) + { + out << "[warning " << el.warning << "]" << std::endl; + out << std::endl; + } +} + void quickbook_output_detail_function(std::vector const& functions, function_type type, configuration const& config, @@ -813,19 +844,8 @@ void quickbook_output_detail_function(std::vector const& functions, out << f.return_description << std::endl; } - // Additional paragraphs - if ( !f.paragraphs.empty() ) - { - BOOST_FOREACH(paragraph const& p, f.paragraphs) - { - if ( !p.title.empty() ) - out << "[heading " << p.title << "]" << std::endl; - else - out << "\n\n" << std::endl; - out << p.text << std::endl; - out << std::endl; - } - } + // Additional paragraphs, note, warning + output_paragraphs_note_warning(f, out); // QBK markup quickbook_markup(f.qbk_markup, markup_any, markup_default, out); @@ -903,6 +923,10 @@ void quickbook_output_alt(class_or_struct const& cos, configuration const& confi quickbook_string_with_heading_if_present("Description", cos.detailed_description, out); + // Additional paragraphs, note, warning + output_paragraphs_note_warning(cos, out); + + // Markup quickbook_markup(cos.qbk_markup, markup_any, markup_default, out); // Header diff --git a/include/boost/geometry/extensions/index/distance_predicates.hpp b/include/boost/geometry/extensions/index/distance_predicates.hpp index 5f4d53ed8..abf0b342d 100644 --- a/include/boost/geometry/extensions/index/distance_predicates.hpp +++ b/include/boost/geometry/extensions/index/distance_predicates.hpp @@ -288,10 +288,10 @@ Point but only if nearest points are further than some distance. \tparam PointRelation PointRelation type. \tparam MinRelation MinRelation type. -\param pr The point relation. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). -\param minr The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), - bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance). +\param pr The point relation. This may be generated by \c bgi::to_nearest(Point), + \c bgi::to_centroid(Point) or \c bgi::to_furthest(Point). +\param minr The minimum bound relation. This may be generated by \c bgi::to_nearest(min_distance), + \c bgi::to_centroid(min_distance) or \c bgi::to_furthest(min_distance). */ template inline detail::min_bounded @@ -314,10 +314,10 @@ Point but only if nearest points are closer than some distance. \tparam PointRelation PointRelation type. \tparam MaxRelation MaxRelation type. -\param pr The point relation. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). -\param maxr The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), - bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance). +\param pr The point relation. This may be generated by \c bgi::to_nearest(Point), + \c bgi::to_centroid(Point) or \c bgi::to_furthest(Point). +\param maxr The maximum bound relation. This may be generated by \c bgi::to_nearest(max_distance), + \c bgi::to_centroid(max_distance) or \c bgi::to_furthest(max_distance). */ template inline detail::max_bounded @@ -342,12 +342,12 @@ points are further than some distance and closer than some other distance. \tparam MinRelation MinRelation type. \tparam MaxRelation MaxRelation type. -\param pr The point relation. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). -\param minr The minimum bound relation. This may be generated by bgi::to_nearest(min_distance), - bgi::to_centroid(min_distance) or bgi::to_furthest(min_distance). -\param maxr The maximum bound relation. This may be generated by bgi::to_nearest(max_distance), - bgi::to_centroid(max_distance) or bgi::to_furthest(max_distance). +\param pr The point relation. This may be generated by \c bgi::to_nearest(Point), + \c bgi::to_centroid(Point) or \c bgi::to_furthest(Point). +\param minr The minimum bound relation. This may be generated by \c bgi::to_nearest(min_distance), + \c bgi::to_centroid(min_distance) or \c bgi::to_furthest(min_distance). +\param maxr The maximum bound relation. This may be generated by \c bgi::to_nearest(max_distance), + \c bgi::to_centroid(max_distance) or \c bgi::to_furthest(max_distance). */ template inline detail::bounded diff --git a/include/boost/geometry/extensions/index/predicates.hpp b/include/boost/geometry/extensions/index/predicates.hpp index 78ba8df47..cae80e9fd 100644 --- a/include/boost/geometry/extensions/index/predicates.hpp +++ b/include/boost/geometry/extensions/index/predicates.hpp @@ -154,10 +154,10 @@ inline detail::value value(ValuePredicate const& vpred) } /*! -\brief Generate covered_by() predicate. +\brief Generate \c covered_by() predicate. Generate a predicate defining Value and Geometry relationship. -Value will be returned by the query if bg::covered_by(Indexable, Geometry) +Value will be returned by the query if bg::covered_by(Indexable, Geometry) returns true. \ingroup predicates @@ -173,10 +173,10 @@ inline detail::covered_by covered_by(Geometry const& g) } /*! -\brief Generate disjoint() predicate. +\brief Generate \c disjoint() predicate. Generate a predicate defining Value and Geometry relationship. -Value will be returned by the query if bg::disjoint(Indexable, Geometry) +Value will be returned by the query if bg::disjoint(Indexable, Geometry) returns true. \ingroup predicates @@ -192,10 +192,10 @@ inline detail::disjoint disjoint(Geometry const& g) } /*! -\brief Generate intersects() predicate. +\brief Generate \c intersects() predicate. Generate a predicate defining Value and Geometry relationship. -Value will be returned by the query if bg::intersects(Indexable, Geometry) +Value will be returned by the query if bg::intersects(Indexable, Geometry) returns true. \ingroup predicates @@ -211,10 +211,10 @@ inline detail::intersects intersects(Geometry const& g) } /*! -\brief Generate overlaps() predicate. +\brief Generate \c overlaps() predicate. Generate a predicate defining Value and Geometry relationship. -Value will be returned by the query if bg::overlaps(Indexable, Geometry) +Value will be returned by the query if bg::overlaps(Indexable, Geometry) returns true. \ingroup predicates @@ -230,10 +230,10 @@ inline detail::overlaps overlaps(Geometry const& g) } //*! -//\brief Generate touches() predicate. +//\brief Generate \c touches() predicate. // //Generate a predicate defining Value and Geometry relationship. -//Value will be returned by the query if bg::touches(Indexable, Geometry) +//Value will be returned by the query if bg::touches(Indexable, Geometry) //returns true. // //\ingroup predicates @@ -249,10 +249,10 @@ inline detail::overlaps overlaps(Geometry const& g) //} /*! -\brief Generate within() predicate. +\brief Generate \c within() predicate. Generate a predicate defining Value and Geometry relationship. -Value will be returned by the query if bg::within(Indexable, Geometry) +Value will be returned by the query if bg::within(Indexable, Geometry) returns true. \ingroup predicates diff --git a/include/boost/geometry/extensions/index/rtree/rtree.hpp b/include/boost/geometry/extensions/index/rtree/rtree.hpp index 25d0c15c5..2615bf5c3 100644 --- a/include/boost/geometry/extensions/index/rtree/rtree.hpp +++ b/include/boost/geometry/extensions/index/rtree/rtree.hpp @@ -66,22 +66,26 @@ of Values and balancing algorithms. The user must pass a type defining the Parameters which will be used in rtree creation process. This type is used e.g. to specify balancing algorithm with specific parameters like min and max number of elements in node. + +\par Predefined algorithms with compile-time parameters are: -bgi::linear, -bgi::quadratic, -bgi::rstar. + \li bgi::linear, + \li bgi::quadratic, + \li bgi::rstar. + +\par Predefined algorithms with run-time parameters are: -bgi::runtime::linear, -bgi::runtime::quadratic, -bgi::runtime::rstar. + \li \c bgi::runtime::linear, + \li \c bgi::runtime::quadratic, + \li \c bgi::runtime::rstar. \par Translator The Translator translates from Value to Indexable each time r-tree requires it. Which means that this operation is done for each Value access. Therefore the Translator should return the Indexable by const reference instead of a value. Default translator can translate all types adapted to Point -or Box concepts (which are Indexables). It also handles std::pair, pointers, smart pointers, -and iterators. E.g. If std::pair is stored, the default translator translates from -std::pair const& to Box const&. +or Box concepts (called Indexables). It also handles std::pair and +boost::tuple. For example, if std::pair is stored in the +container, the default translator translates from std::pair const& to Box const&. \tparam Value The type of objects stored in the container. \tparam Parameters Compile-time parameters. @@ -177,8 +181,10 @@ public: \param allocator The allocator object. \par Throws - If allocator copy constructor throws. If Value copy constructor or copy assignment throws. - When nodes allocation fails. + \li If allocator copy constructor throws. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When memory allocation for Node fails. */ template inline rtree(Iterator first, Iterator last, @@ -212,8 +218,10 @@ public: \param allocator The allocator object. \par Throws - If allocator copy constructor throws. If Value copy constructor or copy assignment throws. - When nodes allocation fails. + \li If allocator copy constructor throws. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When memory allocation for Node fails. */ template inline explicit rtree(Range const& rng, @@ -257,8 +265,10 @@ public: \param src The rtree which content will be copied. \par Throws - If allocator copy constructor throws. If Value copy constructor throws. - When nodes allocation fails. + \li If allocator copy constructor throws. + \li If Value copy constructor throws. + \li If allocation throws. + \li When memory allocation for Node fails. */ inline rtree(rtree const& src) : m_translator(src.m_translator) // SHOULDN'T THROW @@ -282,8 +292,10 @@ public: \param allocator The allocator which will be used. \par Throws - If allocator copy constructor throws. If Value copy constructor throws. - When nodes allocation fails. + \li If allocator copy constructor throws. + \li If Value copy constructor throws. + \li If allocation throws. + \li When memory allocation for Node fails. */ inline rtree(rtree const& src, allocator_type const& allocator) : m_translator(src.m_translator) // SHOULDN'T THROW @@ -328,8 +340,9 @@ public: \param src The rtree which content will be copied. \par Throws - If Value copy constructor throws. - When nodes allocation fails. + \li If Value copy constructor throws. + \li If allocation throws. + \li When nodes allocation fails. */ inline rtree & operator=(BOOST_COPY_ASSIGN_REF(rtree) src) { @@ -352,7 +365,10 @@ public: \param src The rtree which content will be moved. \par Throws - Only if allocators aren't equal. If Value copy constructor throws. When nodes allocation fails. + Only if allocators aren't equal. + \li If Value copy constructor throws. + \li If allocation throws. + \li When nodes allocation fails. */ inline rtree & operator=(BOOST_RV_REF(rtree) src) { @@ -412,9 +428,11 @@ public: \param value The value which will be stored in the container. \par Throws - If Value copy constructor or copy assignment throws. When nodes allocation fails. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When nodes allocation fails. - \par Exception-safety + \warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. */ @@ -433,9 +451,11 @@ public: \param last The end of the range of values. \par Throws - If Value copy constructor or copy assignment throws. When nodes allocation fails. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When nodes allocation fails. - \par Exception-safety + \warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. */ @@ -455,9 +475,11 @@ public: \param rng The range of values. \par Throws - If Value copy constructor or copy assignment throws. When nodes allocation fails. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When nodes allocation fails. - \par Exception-safety + \warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. */ @@ -475,7 +497,7 @@ public: /*! \brief Remove a value from the container. - In contrast to the STL set/map erase() method + In contrast to the \c std::set or \c std::map \c erase() method this method removes only one value from the container. \param value The value which will be removed from the container. @@ -483,9 +505,11 @@ public: \return 1 if the value was removed, 0 otherwise. \par Throws - If Value copy constructor or copy assignment throws. When nodes allocation fails. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When nodes allocation fails. - \par Exception-safety + \warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. */ @@ -497,7 +521,7 @@ public: /*! \brief Remove a range of values from the container. - In contrast to the STL set/map erase() method + In contrast to the \c std::set or \c std::map \c erase() method it doesn't take iterators pointing to values stored in this container. It removes values equal to these passed as a range. Furthermore this method removes only one value for each one passed in the range, not all equal values. @@ -508,9 +532,11 @@ public: \return The number of removed values. \par Throws - If Value copy constructor or copy assignment throws. When nodes allocation fails. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When nodes allocation fails. - \par Exception-safety + \warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. */ @@ -526,7 +552,7 @@ public: /*! \brief Remove a range of values from the container. - In contrast to the STL set/map erase() method + In contrast to the \c std::set or \c std::map \c erase() method it removes values equal to these passed as a range. Furthermore, this method removes only one value for each one passed in the range, not all equal values. @@ -535,9 +561,11 @@ public: \return The number of removed values. \par Throws - If Value copy constructor or copy assignment throws. When nodes allocation fails. + \li If Value copy constructor or copy assignment throws. + \li If allocation throws. + \li When nodes allocation fails. - \par Exception-safety + \warning This operation is not thread safe. If it throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data. */ @@ -554,13 +582,23 @@ public: /*! \brief Finds values meeting spatial predicates, e.g. intersecting some Box. - Spatial predicates may be a Geometry (in this case default - predicate - intersects is used) or generated by bgi::covered_by(geometry), - bgi::disjoint(geometry), bgi::intersects(geometry), bgi::overlaps(geometry), - bgi::within(geometry), !bgi::covered_by(geometry), !bgi::disjoint(geometry), - !bgi::intersects(geometry), !bgi::overlaps(geometry), !bgi::within(geometry) - or bgi::value(func). Those predicates may be passed together in std::pair - or boost::tuple. + Spatial predicates may be a \c Geometry. In this case Values intersecting the \c Geometry are returned. + + It may be generated by one of the functions listed below: + \li \c bgi::covered_by(geometry), + \li \c bgi::disjoint(geometry), + \li \c bgi::intersects(geometry) - default, + \li \c bgi::overlaps(geometry), + \li \c bgi::within(geometry), + \li \c !bgi::covered_by(geometry), + \li \c !bgi::disjoint(geometry), + \li \c !bgi::intersects(geometry), + \li \c !bgi::overlaps(geometry), + \li \c !bgi::within(geometry) + \li \c bgi::value(func). + + Those predicates may be passed together in + \c std::pair<...> or \c boost::tuple<...>. \param pred The spatial predicates or a Geometry. \param out_it The output iterator of the result range. E.g. an iterator generated by @@ -569,7 +607,8 @@ public: \return The number of values found. \par Throws - If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws. + \li If Value copy constructor or copy assignment throws. + \li If OutIter dereference or increment throws. */ template inline size_type spatial_query(Predicates const& pred, OutIter out_it) const @@ -588,15 +627,26 @@ public: /*! \brief Finds one value meeting distances predicates, e.g. nearest to some Point. - The distances predicates may be a Point. This is default case where Value which - nearest point is closest to Point is returned. May be a PointRelation which define - how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances - bounds. E.g. that some distance must be between min_distance and max_distance. This may - be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), - bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). - MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), - bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound). + Distances predicates may be a \c Point. In this the case the Value closest to \c Point is returned. + + It is possible to define how distance to Value is calculated. This is done by passing PointRelation. + It can be generated by following functions: + \li bgi::to_nearest(Point) - default, + \li bgi::to_centroid(Point), + \li bgi::to_furthest(Point). + + It is possible to define define distances bounds, for example that some distance must be between + min_distance and max_distance. This is done by passing DistancesPredicates which can be generated + by following functions: + \li bgi::unbounded(PointRelation) - default, + \li bgi::min_bounded(PointRelation, MinRelation), + \li bgi::max_bounded(PointRelation, MaxRelation), + \li bgi::bounded(PointRelation, MinRelation, MaxRelation). + + MinRelation and MaxRelation describes bounds and can be generated by following functions: + \li bgi::to_nearest(some_distance), + \li bgi::to_centroid(some_distance), + \li bgi::to_furthest(some_distance). \param dpred The distances predicates or a Point. @@ -617,23 +667,44 @@ public: \brief Finds one value meeting distances predicates and spatial predicates, e.g. nearest to some Point and intersecting some Box. - The distances predicates may be a Point. This is default case where Value which - nearest point is closest to Point is returned. May be a PointRelation which define - how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances - bounds. E.g. that some distance must be between min_distance and max_distance. This may - be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), - bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). - MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), - bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound). + Distances predicates may be a \c Point. In this the case the Value closest to \c Point is returned. - The spatial predicates. May be a Geometry (in this case default - predicate - intersects is used) or generated by bgi::covered_by(geometry), - bgi::disjoint(geometry), bgi::intersects(geometry), bgi::overlaps(geometry), - bgi::within(geometry), !bgi::covered_by(geometry), !bgi::disjoint(geometry), - !bgi::intersects(geometry), !bgi::overlaps(geometry), !bgi::within(geometry) - or bgi::value(func). Those predicates may be passed together in std::pair - or boost::tuple. + It is possible to define how distance to Value is calculated. This is done by passing PointRelation. + It can be generated by following functions: + \li bgi::to_nearest(Point) - default, + \li bgi::to_centroid(Point), + \li bgi::to_furthest(Point). + + It is possible to define define distances bounds, for example that some distance must be between + min_distance and max_distance. This is done by passing DistancesPredicates which can be generated + by following functions: + \li bgi::unbounded(PointRelation) - default, + \li bgi::min_bounded(PointRelation, MinRelation), + \li bgi::max_bounded(PointRelation, MaxRelation), + \li bgi::bounded(PointRelation, MinRelation, MaxRelation). + + MinRelation and MaxRelation describes bounds and can be generated by following functions: + \li bgi::to_nearest(some_distance), + \li bgi::to_centroid(some_distance), + \li bgi::to_furthest(some_distance). + + Spatial predicates may be a \c Geometry. In this case Values intersecting the \c Geometry are returned. + + It may be generated by one of the functions listed below: + \li \c bgi::covered_by(geometry), + \li \c bgi::disjoint(geometry), + \li \c bgi::intersects(geometry) - default, + \li \c bgi::overlaps(geometry), + \li \c bgi::within(geometry), + \li \c !bgi::covered_by(geometry), + \li \c !bgi::disjoint(geometry), + \li \c !bgi::intersects(geometry), + \li \c !bgi::overlaps(geometry), + \li \c !bgi::within(geometry) + \li \c bgi::value(func). + + Those predicates may be passed together in + \c std::pair<...> or \c boost::tuple<...>. \param dpred The distances predicates or a Point. \param pred The spatial predicates or a Geometry @@ -653,15 +724,26 @@ public: /*! \brief Finds k values meeting distances predicates, e.g. k nearest values to some Point. - The distances predicates. May be a Point. This is default case where Value which - nearest point is closest to Point is returned. May be a PointRelation which define - how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances - bounds. E.g. that some distance must be between min_distance and max_distance. This may - be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), - bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). - MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), - bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound). + Distances predicates may be a \c Point. In this the case the Value closest to \c Point is returned. + + It is possible to define how distance to Value is calculated. This is done by passing PointRelation. + It can be generated by following functions: + \li bgi::to_nearest(Point) - default, + \li bgi::to_centroid(Point), + \li bgi::to_furthest(Point). + + It is possible to define define distances bounds, for example that some distance must be between + min_distance and max_distance. This is done by passing DistancesPredicates which can be generated + by following functions: + \li bgi::unbounded(PointRelation) - default, + \li bgi::min_bounded(PointRelation, MinRelation), + \li bgi::max_bounded(PointRelation, MaxRelation), + \li bgi::bounded(PointRelation, MinRelation, MaxRelation). + + MinRelation and MaxRelation describes bounds and can be generated by following functions: + \li bgi::to_nearest(some_distance), + \li bgi::to_centroid(some_distance), + \li bgi::to_furthest(some_distance). \param dpred The distances predicates or a Point. \param k The max number of values. @@ -682,23 +764,44 @@ public: \brief Finds k values meeting distances predicates and spatial predicates, e.g. k nearest values to some Point and intersecting some Box. - The distances predicates may be a Point. This is default case where Value which - nearest point is closest to Point is returned. May be a PointRelation which define - how distance to Value is calculated. This may be generated by bgi::to_nearest(Point), - bgi::to_centroid(Point) or bgi::to_furthest(Point). DistancesPredicates may also define distances - bounds. E.g. that some distance must be between min_distance and max_distance. This may - be generated by bgi::unbounded(PointRelation) - default case, bgi::min_bounded(PointRelation, MinRelation), - bgi::max_bounded(PointRelation, MaxRelation), bgi::bounded(PointRelation, MinRelation, MaxRelation). - MinRelation and MaxRelation describes bounds and may be generated by bgi::to_nearest(dist_bound), - bgi::to_centroid(dist_bound) or bgi::to_furthest(dist_bound). + Distances predicates may be a \c Point. In this the case the Value closest to \c Point is returned. - The spatial predicates. May be a Geometry (in this case default - predicate - intersects is used) or generated by bgi::covered_by(geometry), - bgi::disjoint(geometry), bgi::intersects(geometry), bgi::overlaps(geometry), - bgi::within(geometry), !bgi::covered_by(geometry), !bgi::disjoint(geometry), - !bgi::intersects(geometry), !bgi::overlaps(geometry), !bgi::within(geometry) - or bgi::value(func). Those predicates may be passed together in std::pair - or boost::tuple. + It is possible to define how distance to Value is calculated. This is done by passing PointRelation. + It can be generated by following functions: + \li bgi::to_nearest(Point) - default, + \li bgi::to_centroid(Point), + \li bgi::to_furthest(Point). + + It is possible to define define distances bounds, for example that some distance must be between + min_distance and max_distance. This is done by passing DistancesPredicates which can be generated + by following functions: + \li bgi::unbounded(PointRelation) - default, + \li bgi::min_bounded(PointRelation, MinRelation), + \li bgi::max_bounded(PointRelation, MaxRelation), + \li bgi::bounded(PointRelation, MinRelation, MaxRelation). + + MinRelation and MaxRelation describes bounds and can be generated by following functions: + \li bgi::to_nearest(some_distance), + \li bgi::to_centroid(some_distance), + \li bgi::to_furthest(some_distance). + + Spatial predicates may be a \c Geometry. In this case Values intersecting the \c Geometry are returned. + + It may be generated by one of the functions listed below: + \li \c bgi::covered_by(geometry), + \li \c bgi::disjoint(geometry), + \li \c bgi::intersects(geometry) - default, + \li \c bgi::overlaps(geometry), + \li \c bgi::within(geometry), + \li \c !bgi::covered_by(geometry), + \li \c !bgi::disjoint(geometry), + \li \c !bgi::intersects(geometry), + \li \c !bgi::overlaps(geometry), + \li \c !bgi::within(geometry) + \li \c bgi::value(func). + + Those predicates may be passed together in + \c std::pair<...> or \c boost::tuple<...>. \param dpred The distances predicates or a Point \param k The max number of values. @@ -757,7 +860,7 @@ public: \brief Returns the box containing all values stored in the container. Returns the box containing all values stored in the container. - If the container is empty the result of geometry::assign_inverse() is returned. + If the container is empty the result of \c geometry::assign_inverse() is returned. \return The box containing all values stored in the container or an invalid box if there are no values in the container. @@ -1170,7 +1273,7 @@ inline void insert(rtree & tree, Range co /*! \brief Remove a value from the container. -Remove a value from the container. In contrast to the STL set/map erase() method +Remove a value from the container. In contrast to the \c std::set or \c std::map \c erase() method this function removes only one value from the container. \ingroup rtree_functions @@ -1190,7 +1293,7 @@ remove(rtree & tree, Value const& v) /*! \brief Remove a range of values from the container. -Remove a range of values from the container. In contrast to the STL set/map erase() method +Remove a range of values from the container. In contrast to the \c std::set or \c std::map \c erase() method it doesn't take iterators pointing to values stored in this container. It removes values equal to these passed as a range. Furthermore this function removes only one value for each one passed in the range, not all equal values. @@ -1213,7 +1316,7 @@ remove(rtree & tree, Iterator first, Iter /*! \brief Remove a range of values from the container. -Remove a range of values from the container. In contrast to the STL set/map erase() method +Remove a range of values from the container. In contrast to the \c std::set or \c std::map \c erase() method it removes values equal to these passed as a range. Furthermore this method removes only one value for each one passed in the range, not all equal values.