mirror of
https://github.com/boostorg/geometry.git
synced 2025-05-12 14:01:47 +00:00
rtree::box() renamed to rtree::envelope() index::box() renamed to index::envelope() some unneeded tests removed docs updated [SVN r82546]
1044 lines
46 KiB
Plaintext
1044 lines
46 KiB
Plaintext
[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically]
|
|
[/ Generated from xml/classboost_1_1geometry_1_1index_1_1rtree.xml]
|
|
[#classboost_1_1geometry_1_1index_1_1rtree]
|
|
[section:boost_geometry_index_rtree boost::geometry::index::rtree]
|
|
|
|
'''<indexterm><primary>boost</primary></indexterm><indexterm><primary>geometry</primary></indexterm><indexterm><primary>index</primary></indexterm><indexterm><primary>rtree</primary></indexterm>'''
|
|
The R-tree spatial index.
|
|
|
|
[heading Description]
|
|
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:
|
|
|
|
* [^[link structboost_1_1geometry_1_1index_1_1linear boost::geometry::index::linear]],
|
|
* [^[link structboost_1_1geometry_1_1index_1_1quadratic boost::geometry::index::quadratic]],
|
|
* [^[link structboost_1_1geometry_1_1index_1_1rstar boost::geometry::index::rstar]].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Predefined algorithms with run-time parameters are:
|
|
|
|
* [^[link classboost_1_1geometry_1_1index_1_1runtime_1_1linear boost::geometry::index::runtime::linear]],
|
|
* [^[link classboost_1_1geometry_1_1index_1_1runtime_1_1quadratic boost::geometry::index::runtime::quadratic]],
|
|
* [^[link classboost_1_1geometry_1_1index_1_1runtime_1_1rstar boost::geometry::index::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 (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&`].
|
|
|
|
[heading Header]
|
|
`#include <boost/geometry/index/rtree.hpp>`
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
`template<``typename Value``,`
|
|
`typename Parameters``,`
|
|
`typename Translator` = [^[link structboost_1_1geometry_1_1index_1_1translator_1_1def translator::def]]`<Value>``,`
|
|
`typename Allocator` = `std::allocator<Value>``>`
|
|
`class rtree`
|
|
`{`
|
|
` // ...`
|
|
`};`
|
|
]
|
|
|
|
[heading Template parameter(s)]
|
|
[table
|
|
[[Parameter] [Description]]
|
|
[[`Value`][The type of objects stored in the container. ]]
|
|
[[`Parameters`][Compile-time parameters. ]]
|
|
[[`Translator`][The type of the translator which translates from Value to Indexable. ]]
|
|
[[`Allocator`][The allocator used to allocate/deallocate memory, construct/destroy nodes and Values. ]]
|
|
]
|
|
|
|
[heading Typedef(s)]
|
|
[table
|
|
[[Type] [Description]]
|
|
[[[#classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb] `value_type`][The type of Value stored in the container. ]]
|
|
[[[#classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a] `parameters_type`][R-tree parameters type. ]]
|
|
[[[#classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91] `translator_type`][Value to Indexable Translator type. ]]
|
|
[[[#classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d] `allocator_type`][The type of allocator used by the container. ]]
|
|
[[[#classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6] `size_type`][Unsigned integral type used by the container. ]]
|
|
[[[#classboost_1_1geometry_1_1index_1_1rtree_1ac011da09678f034a7fab487a9b973bfc] `indexable_type`][The Indexable type to which Value is translated. ]]
|
|
[[[#classboost_1_1geometry_1_1index_1_1rtree_1a2803990c71c40e6770744d29e5bbd093] `envelope_type`][The Box type used by the R-tree. ]]
|
|
]
|
|
|
|
[heading Constructor(s) and destructor]
|
|
[table
|
|
[[Function][Description]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1afa64d1b825b06d196b1164aec27c2d7b `rtree()`]][The constructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1a2cadbaa3a7157f7503eef3f2f6b889aa `rtree(parameters_type, translator_type const &, allocator_type)`]][The constructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1a64c67e0dec7ccce2dc52d918436c62e5 `rtree(Iterator, Iterator)`]][The constructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1a0d15842e8bb86a87f073ffabb7cabd21 `rtree(Range const &)`]][The constructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1ae8b10914ec434d1ee6877f5e1000b674 `~rtree()`]][The destructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1a006904b4e7dcef1fd1efcb70a010964f `rtree(rtree const &)`]][The copy constructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1ac59521aa9a9b69104fa25c0f7b705354 `rtree(rtree const &, allocator_type const &)`]][The copy constructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1a050fca8af38fe25548d4c22830b55bf2 `rtree(rtree &&)`]][The moving constructor. ]]
|
|
[[[link classboost_1_1geometry_1_1index_1_1rtree_1ae0b4e031554daa6e6e8d3a0f95630260 `rtree(rtree &&, allocator_type const &)`]][The moving constructor. ]]
|
|
]
|
|
|
|
[heading Member(s)]
|
|
[table
|
|
[[Modifier][Function][Description]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1ab823a214501cb0f9fd00ba12a1ade179 `operator=(const rtree &)`]][The assignment operator. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1a44bd4edee49db92c18b6bbbba77b42be `operator=(rtree &&)`]][The moving assignment. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1aad0285d25f96341a8dd6cc22feb3bd73 `swap(rtree &)`]][Swaps contents of two rtrees. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1af6d5bd81e46cb4ff89277c753133664c `insert(value_type const &)`]][Insert a value to the index. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1a5263a3faac7b4f0090d4ad1d44cc540d `insert(Iterator, Iterator)`]][Insert a range of values to the index. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1abb624abd9268b41e815d40342b2634c2 `insert(Range const &)`]][Insert a range of values to the index. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1af6ca6909354a997f89411ef40ea5688a `remove(value_type const &)`]][Remove a value from the container. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1a6e9123114697d65b16ebc49cd5371fbd `remove(Iterator, Iterator)`]][Remove a range of values from the container. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1a5a57bb93b0b2d7ea1c659e925f918e9c `remove(Range const &)`]][Remove a range of values from the container. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a930bf17d595a91d8ae924383a0387920 `spatial_query(Predicates const &, OutIter)`]][Finds values meeting spatial predicates, e.g. intersecting some Box. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a788295b315bd0ddeb93b1cc050fdf909 `nearest_query(DistancesPredicates const &, value_type &)`]][Finds one value meeting distances predicates, e.g. nearest to some Point. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a6552331dca4d67647ef2a03bd0fbedcc `nearest_query(DistancesPredicates const &, Predicates const &, value_type &)`]][Finds one value meeting distances predicates and spatial predicates, e.g. nearest to some Point and intersecting some Box. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a3101652211c9f2d6ed8626dae6ff5f9d `nearest_query(DistancesPredicates const &, size_type, OutIter)`]][Finds k values meeting distances predicates, e.g. k nearest values to some Point. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a31c23b87b01f12282ef0df6404ab7301 `nearest_query(DistancesPredicates const &, size_type, Predicates const &, OutIter)`]][Finds k values meeting distances predicates and spatial predicates, e.g. k nearest values to some Point and intersecting some Box. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a89561a834563f2ed6fc782bad16143fd `size()`]][Returns the number of stored values. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1ae889567443b0ba0dbdb975564c55804c `empty()`]][Query if the container is empty. ]]
|
|
[[][[link classboost_1_1geometry_1_1index_1_1rtree_1ae6027e42d28a4bf93e74b055c79e6b09 `clear()`]][Removes all values stored in the container. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a131c273b6fc7e1c6d62cc5ebd015e77e `envelope()`]][Returns the box able to contain all values stored in the container. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a17fce1fac81f6460d2c3a5744f4963ee `count(ValueOrIndexable const &)`]][Count Values or Indexables stored in the container. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a18910715f67608ff010556ac41f51606 `parameters()`]][Returns parameters. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1afc7e9a4bd53a58552c17c1e7cb997258 `translator()`]][Returns the translator object. ]]
|
|
[[ `const`][[link classboost_1_1geometry_1_1index_1_1rtree_1a1eeb303253f4cabe3a89a82ed41247ff `get_allocator()`]][Returns allocator used by the rtree. ]]
|
|
]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1afa64d1b825b06d196b1164aec27c2d7b]
|
|
[section rtree()]
|
|
The constructor.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
`rtree``(`[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]] `parameters` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]`()``,` [^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &` `translator` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]`()``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``explicit ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]][ `parameters` ][The parameters object. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &`][ `translator` ][The translator object.]]
|
|
]
|
|
[heading Throws]
|
|
If allocator default constructor throws.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a2cadbaa3a7157f7503eef3f2f6b889aa]
|
|
[section rtree(parameters_type, translator_type const &, allocator_type)]
|
|
The constructor.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
`rtree``(`[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]] `parameters``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &` `translator``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]] `allocator``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]][ `parameters` ][The parameters object. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &`][ `translator` ][The translator object. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]][ `allocator` ][The allocator object.]]
|
|
]
|
|
[heading Throws]
|
|
If allocator copy constructor throws.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a64c67e0dec7ccce2dc52d918436c62e5]
|
|
[section rtree(Iterator, Iterator)]
|
|
The constructor.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
`template<``typename Iterator``>`
|
|
`rtree``(``Iterator` `first``,`
|
|
`Iterator` `last``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]] `parameters` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]`()``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &` `translator` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]`()``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]] `allocator` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]`()``)`
|
|
]
|
|
|
|
[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. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]][ `parameters` ][The parameters object. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &`][ `translator` ][The translator object. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]][ `allocator` ][The allocator object.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* If allocator copy constructor throws.
|
|
* If Value copy constructor or copy assignment throws.
|
|
* If allocation throws.
|
|
* When memory allocation for Node fails.
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a0d15842e8bb86a87f073ffabb7cabd21]
|
|
[section rtree(Range const &)]
|
|
The constructor.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
`template<``typename Range``>`
|
|
`rtree``(``Range const &` `rng``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]] `parameters` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]`()``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &` `translator` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]`()``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]] `allocator` = [^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]`()``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``explicit ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`Range const &`][ `rng` ][The range of Values. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]][ `parameters` ][The parameters object. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &`][ `translator` ][The translator object. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]][ `allocator` ][The allocator object.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* If allocator copy constructor throws.
|
|
* If Value copy constructor or copy assignment throws.
|
|
* If allocation throws.
|
|
* When memory allocation for Node fails.
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1ae8b10914ec434d1ee6877f5e1000b674]
|
|
[section ~rtree()]
|
|
The destructor.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
`~rtree``()`
|
|
]
|
|
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a006904b4e7dcef1fd1efcb70a010964f]
|
|
[section rtree(rtree const &)]
|
|
The copy constructor.
|
|
|
|
[heading Description]
|
|
It uses parameters, translator and allocator from the source tree.[heading Synopsis]
|
|
[pre
|
|
|
|
`rtree``(`[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` const &` `src``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` const &`][ `src` ][The rtree which content will be copied.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* If allocator copy constructor throws.
|
|
* If Value copy constructor throws.
|
|
* If allocation throws.
|
|
* When memory allocation for Node fails.
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1ac59521aa9a9b69104fa25c0f7b705354]
|
|
[section rtree(rtree const &, allocator_type const &)]
|
|
The copy constructor.
|
|
|
|
[heading Description]
|
|
It uses Parameters and translator from the source tree.[heading Synopsis]
|
|
[pre
|
|
|
|
`rtree``(`[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` const &` `src``,` [^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]` const &` `allocator``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` const &`][ `src` ][The rtree which content will be copied. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]` const &`][ `allocator` ][The allocator which will be used.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* If allocator copy constructor throws.
|
|
* If Value copy constructor throws.
|
|
* If allocation throws.
|
|
* When memory allocation for Node fails.
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a050fca8af38fe25548d4c22830b55bf2]
|
|
[section rtree(rtree &&)]
|
|
The moving constructor.
|
|
|
|
[heading Description]
|
|
It uses parameters, translator and allocator from the source tree.[heading Synopsis]
|
|
[pre
|
|
|
|
`rtree``(`[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &&` `src``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &&`][ `src` ][The rtree which content will be moved.]]
|
|
]
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1ae0b4e031554daa6e6e8d3a0f95630260]
|
|
[section rtree(rtree &&, allocator_type const &)]
|
|
The moving constructor.
|
|
|
|
[heading Description]
|
|
It uses parameters and translator from the source tree.[heading Synopsis]
|
|
[pre
|
|
|
|
`rtree``(`[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &&` `src``,` [^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]` const &` `allocator``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &&`][ `src` ][The rtree which content will be moved. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]]` const &`][ `allocator` ][The allocator.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* If allocator copy constructor throws.
|
|
* If Value copy constructor throws (only if allocators aren't equal).
|
|
* If allocation throws (only if allocators aren't equal).
|
|
* When memory allocation for Node fails (only if allocators aren't equal).
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1ab823a214501cb0f9fd00ba12a1ade179]
|
|
[section operator=(const rtree &)]
|
|
The assignment operator.
|
|
|
|
[heading Description]
|
|
It uses parameters and translator from the source tree.[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &` `operator=``(``const `[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &` `src``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`const `[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &`][ `src` ][The rtree which content will be copied.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* If Value copy constructor throws.
|
|
* If allocation throws.
|
|
* When nodes allocation fails.
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a44bd4edee49db92c18b6bbbba77b42be]
|
|
[section operator=(rtree &&)]
|
|
The moving assignment.
|
|
|
|
[heading Description]
|
|
It uses parameters and translator from the source tree.[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &` `operator=``(`[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &&` `src``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &&`][ `src` ][The rtree which content will be moved.]]
|
|
]
|
|
[heading Throws]
|
|
Only if allocators aren't equal.
|
|
|
|
* If Value copy constructor throws.
|
|
* If allocation throws.
|
|
* When nodes allocation fails.
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1aad0285d25f96341a8dd6cc22feb3bd73]
|
|
[section swap(rtree &)]
|
|
Swaps contents of two rtrees.
|
|
|
|
[heading Description]
|
|
Parameters, translator and allocators are swapped as well.[heading Synopsis]
|
|
[pre
|
|
|
|
`void` `swap``(`[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &` `other``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree rtree]]` &`][ `other` ][The rtree which content will be swapped with this rtree content.]]
|
|
]
|
|
[heading Throws]
|
|
If allocators swap throws.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1af6d5bd81e46cb4ff89277c753133664c]
|
|
[section insert(value_type const &)]
|
|
Insert a value to the index.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
`void` `insert``(`[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` const &` `value``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` const &`][ `value` ][The value which will be stored in the container.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* 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]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a5263a3faac7b4f0090d4ad1d44cc540d]
|
|
[section insert(Iterator, Iterator)]
|
|
Insert a range of values to the index.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
`template<``typename Iterator``>`
|
|
`void` `insert``(``Iterator` `first``,` `Iterator` `last``)`
|
|
]
|
|
|
|
[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.
|
|
* 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]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1abb624abd9268b41e815d40342b2634c2]
|
|
[section insert(Range const &)]
|
|
Insert a range of values to the index.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
`template<``typename Range``>`
|
|
`void` `insert``(``Range const &` `rng``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`Range const &`][ `rng` ][The range of values.]]
|
|
]
|
|
[heading Throws]
|
|
|
|
|
|
* 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]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1af6ca6909354a997f89411ef40ea5688a]
|
|
[section remove(value_type const &)]
|
|
Remove a value from the container.
|
|
|
|
[heading Description]
|
|
In contrast to the [^`std::set`] or [^`std::map erase()`] method this method removes only one value from the container.[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `remove``(`[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` const &` `value``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` const &`][ `value` ][The value which will be removed from the container.]]
|
|
]
|
|
[heading Returns]
|
|
1 if the value was removed, 0 otherwise.
|
|
[heading Throws]
|
|
|
|
|
|
* 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]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a6e9123114697d65b16ebc49cd5371fbd]
|
|
[section remove(Iterator, Iterator)]
|
|
Remove a range of values from the container.
|
|
|
|
[heading Description]
|
|
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]
|
|
[pre
|
|
`template<``typename Iterator``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `remove``(``Iterator` `first``,` `Iterator` `last``)`
|
|
]
|
|
|
|
[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 Returns]
|
|
The number of removed values.
|
|
[heading Throws]
|
|
|
|
|
|
* 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]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a5a57bb93b0b2d7ea1c659e925f918e9c]
|
|
[section remove(Range const &)]
|
|
Remove a range of values from the container.
|
|
|
|
[heading Description]
|
|
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]
|
|
[pre
|
|
`template<``typename Range``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `remove``(``Range const &` `rng``)`
|
|
]
|
|
|
|
[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`Range const &`][ `rng` ][The range of values.]]
|
|
]
|
|
[heading Returns]
|
|
The number of removed values.
|
|
[heading Throws]
|
|
|
|
|
|
* 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]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a930bf17d595a91d8ae924383a0387920]
|
|
[section spatial_query(Predicates const &, OutIter)]
|
|
Finds values meeting spatial predicates, e.g. intersecting some Box.
|
|
|
|
[heading Description]
|
|
[*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:
|
|
|
|
* [^[link group__predicates_1ga0a613a7f1d18ac33955bfdc2c5777c61 boost::geometry::index::covered_by()]],
|
|
* [^[link group__predicates_1ga351bb3b82e019ff45adf789385b8007d boost::geometry::index::disjoint()]],
|
|
* [^[link group__predicates_1ga7301c50e0272976b9f1434536383e6d0 boost::geometry::index::intersects()]] - default,
|
|
* [^[link group__predicates_1ga5511236f56be1defcccbf11e742ccd88 boost::geometry::index::overlaps()]],
|
|
* [^[link group__predicates_1gabf9c4e76dd8a09a4c476f2f8fa8a0e4d boost::geometry::index::within()]],
|
|
* [^`! `[link group__predicates_1ga0a613a7f1d18ac33955bfdc2c5777c61 boost::geometry::index::covered_by()]],
|
|
* [^`! `[link group__predicates_1ga351bb3b82e019ff45adf789385b8007d boost::geometry::index::disjoint()]],
|
|
* [^`! `[link group__predicates_1ga7301c50e0272976b9f1434536383e6d0 boost::geometry::index::intersects()]],
|
|
* [^`! `[link group__predicates_1ga5511236f56be1defcccbf11e742ccd88 boost::geometry::index::overlaps()]],
|
|
* [^`! `[link group__predicates_1gabf9c4e76dd8a09a4c476f2f8fa8a0e4d boost::geometry::index::within()]]
|
|
* [^[link group__predicates_1ga5c93efac97377136564623cbaf35d880 boost::geometry::index::value()]].
|
|
|
|
|
|
Those predicates may be passed together in [^`std::pair`] or [^`boost::tuple`].[heading Synopsis]
|
|
[pre
|
|
`template<``typename Predicates``,` `typename OutIter``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `spatial_query``(``Predicates const &` `pred``,` `OutIter` `out_it``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`Predicates const &`][ `pred` ][The spatial predicates or a Geometry. ]]
|
|
[[`OutIter`][ `out_it` ][The output iterator of the result range. E.g. an iterator generated by std::back_inserter(container)]]
|
|
]
|
|
[heading Returns]
|
|
The number of values found.
|
|
[heading Throws]
|
|
|
|
|
|
* If Value copy constructor or copy assignment throws.
|
|
* If OutIter dereference or increment throws.
|
|
|
|
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a788295b315bd0ddeb93b1cc050fdf909]
|
|
[section nearest_query(DistancesPredicates const &, value_type &)]
|
|
Finds one value meeting distances predicates, e.g. nearest to some Point.
|
|
|
|
[heading Description]
|
|
[*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:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]] - default,
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
|
|
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:
|
|
|
|
* [^[link group__distance__predicates_1ga1b0f969b575a94ca710b9345861f64db boost::geometry::index::unbounded()]] - default,
|
|
* [^[link group__distance__predicates_1ga39c7c94776ab840e164848e53d376098 boost::geometry::index::min_bounded()]],
|
|
* [^[link group__distance__predicates_1ga843735643378288b0e14e19cc9b4e079 boost::geometry::index::max_bounded()]],
|
|
* [^[link group__distance__predicates_1ga20621ca608b1420c38182346b965f347 boost::geometry::index::bounded()]].
|
|
|
|
|
|
MinRelation and MaxRelation describes bounds and can be generated by following functions:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]],
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
`template<``typename DistancesPredicates``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `nearest_query``(``DistancesPredicates const &` `dpred``,` [^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` &` `v``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`DistancesPredicates const &`][ `dpred` ][The distances predicates or a Point.]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` &`][ `v` ][The reference to the object which will contain the result.]]
|
|
]
|
|
[heading Returns]
|
|
The number of values found.
|
|
[heading Throws]
|
|
If Value copy constructor or copy assignment throws.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a6552331dca4d67647ef2a03bd0fbedcc]
|
|
[section nearest_query(DistancesPredicates const &, Predicates const &, value_type &)]
|
|
Finds one value meeting distances predicates and spatial predicates, e.g. nearest to some Point and intersecting some Box.
|
|
|
|
[heading Description]
|
|
[*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:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]] - default,
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
|
|
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:
|
|
|
|
* [^[link group__distance__predicates_1ga1b0f969b575a94ca710b9345861f64db boost::geometry::index::unbounded()]] - default,
|
|
* [^[link group__distance__predicates_1ga39c7c94776ab840e164848e53d376098 boost::geometry::index::min_bounded()]],
|
|
* [^[link group__distance__predicates_1ga843735643378288b0e14e19cc9b4e079 boost::geometry::index::max_bounded()]],
|
|
* [^[link group__distance__predicates_1ga20621ca608b1420c38182346b965f347 boost::geometry::index::bounded()]].
|
|
|
|
|
|
MinRelation and MaxRelation describes bounds and can be generated by following functions:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]],
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
[*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:
|
|
|
|
* [^[link group__predicates_1ga0a613a7f1d18ac33955bfdc2c5777c61 boost::geometry::index::covered_by()]],
|
|
* [^[link group__predicates_1ga351bb3b82e019ff45adf789385b8007d boost::geometry::index::disjoint()]],
|
|
* [^[link group__predicates_1ga7301c50e0272976b9f1434536383e6d0 boost::geometry::index::intersects()]] - default,
|
|
* [^[link group__predicates_1ga5511236f56be1defcccbf11e742ccd88 boost::geometry::index::overlaps()]],
|
|
* [^[link group__predicates_1gabf9c4e76dd8a09a4c476f2f8fa8a0e4d boost::geometry::index::within()]],
|
|
* [^`! `[link group__predicates_1ga0a613a7f1d18ac33955bfdc2c5777c61 boost::geometry::index::covered_by()]],
|
|
* [^`! `[link group__predicates_1ga351bb3b82e019ff45adf789385b8007d boost::geometry::index::disjoint()]],
|
|
* [^`! `[link group__predicates_1ga7301c50e0272976b9f1434536383e6d0 boost::geometry::index::intersects()]],
|
|
* [^`! `[link group__predicates_1ga5511236f56be1defcccbf11e742ccd88 boost::geometry::index::overlaps()]],
|
|
* [^`! `[link group__predicates_1gabf9c4e76dd8a09a4c476f2f8fa8a0e4d boost::geometry::index::within()]]
|
|
* [^[link group__predicates_1ga5c93efac97377136564623cbaf35d880 boost::geometry::index::value()]].
|
|
|
|
|
|
Those predicates may be passed together in [^`std::pair`] or [^`boost::tuple`].[heading Synopsis]
|
|
[pre
|
|
`template<``typename DistancesPredicates``,` `typename Predicates``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `nearest_query``(``DistancesPredicates const &` `dpred``,`
|
|
`Predicates const &` `pred``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` &` `v``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`DistancesPredicates const &`][ `dpred` ][The distances predicates or a Point. ]]
|
|
[[`Predicates const &`][ `pred` ][The spatial predicates or a Geometry ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9979db9ef37591985256cb8ad31862bb value_type]]` &`][ `v` ][The reference to the object which will contain the result.]]
|
|
]
|
|
[heading Returns]
|
|
The number of values found.
|
|
[heading Throws]
|
|
If Value copy constructor or copy assignment throws.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a3101652211c9f2d6ed8626dae6ff5f9d]
|
|
[section nearest_query(DistancesPredicates const &, size_type, OutIter)]
|
|
Finds k values meeting distances predicates, e.g. k nearest values to some Point.
|
|
|
|
[heading Description]
|
|
[*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:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]] - default,
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
|
|
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:
|
|
|
|
* [^[link group__distance__predicates_1ga1b0f969b575a94ca710b9345861f64db boost::geometry::index::unbounded()]] - default,
|
|
* [^[link group__distance__predicates_1ga39c7c94776ab840e164848e53d376098 boost::geometry::index::min_bounded()]],
|
|
* [^[link group__distance__predicates_1ga843735643378288b0e14e19cc9b4e079 boost::geometry::index::max_bounded()]],
|
|
* [^[link group__distance__predicates_1ga20621ca608b1420c38182346b965f347 boost::geometry::index::bounded()]].
|
|
|
|
|
|
MinRelation and MaxRelation describes bounds and can be generated by following functions:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]],
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
`template<``typename DistancesPredicates``,` `typename OutIter``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `nearest_query``(``DistancesPredicates const &` `dpred``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `k``,`
|
|
`OutIter` `out_it``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`DistancesPredicates const &`][ `dpred` ][The distances predicates or a Point. ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]]][ `k` ][The max number of values. ]]
|
|
[[`OutIter`][ `out_it` ][The output iterator of the result range. E.g. a back_insert_iterator.]]
|
|
]
|
|
[heading Returns]
|
|
The number of values found.
|
|
[heading Throws]
|
|
If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a31c23b87b01f12282ef0df6404ab7301]
|
|
[section nearest_query(DistancesPredicates const &, size_type, Predicates const &, OutIter)]
|
|
Finds k values meeting distances predicates and spatial predicates, e.g. k nearest values to some Point and intersecting some Box.
|
|
|
|
[heading Description]
|
|
[*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:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]] - default,
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
|
|
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:
|
|
|
|
* [^[link group__distance__predicates_1ga1b0f969b575a94ca710b9345861f64db boost::geometry::index::unbounded()]] - default,
|
|
* [^[link group__distance__predicates_1ga39c7c94776ab840e164848e53d376098 boost::geometry::index::min_bounded()]],
|
|
* [^[link group__distance__predicates_1ga843735643378288b0e14e19cc9b4e079 boost::geometry::index::max_bounded()]],
|
|
* [^[link group__distance__predicates_1ga20621ca608b1420c38182346b965f347 boost::geometry::index::bounded()]].
|
|
|
|
|
|
MinRelation and MaxRelation describes bounds and can be generated by following functions:
|
|
|
|
* [^[link group__distance__predicates_1gace3c7dbc60840c2a61da36e975d56636 boost::geometry::index::to_nearest()]],
|
|
* [^[link group__distance__predicates_1gaccbba95d864d8dcf8a694796c840fbe0 boost::geometry::index::to_centroid()]],
|
|
* [^[link group__distance__predicates_1ga67dddd8a7fcaae150970e1db0401de02 boost::geometry::index::to_furthest()]].
|
|
|
|
[*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:
|
|
|
|
* [^[link group__predicates_1ga0a613a7f1d18ac33955bfdc2c5777c61 boost::geometry::index::covered_by()]],
|
|
* [^[link group__predicates_1ga351bb3b82e019ff45adf789385b8007d boost::geometry::index::disjoint()]],
|
|
* [^[link group__predicates_1ga7301c50e0272976b9f1434536383e6d0 boost::geometry::index::intersects()]] - default,
|
|
* [^[link group__predicates_1ga5511236f56be1defcccbf11e742ccd88 boost::geometry::index::overlaps()]],
|
|
* [^[link group__predicates_1gabf9c4e76dd8a09a4c476f2f8fa8a0e4d boost::geometry::index::within()]],
|
|
* [^`! `[link group__predicates_1ga0a613a7f1d18ac33955bfdc2c5777c61 boost::geometry::index::covered_by()]],
|
|
* [^`! `[link group__predicates_1ga351bb3b82e019ff45adf789385b8007d boost::geometry::index::disjoint()]],
|
|
* [^`! `[link group__predicates_1ga7301c50e0272976b9f1434536383e6d0 boost::geometry::index::intersects()]],
|
|
* [^`! `[link group__predicates_1ga5511236f56be1defcccbf11e742ccd88 boost::geometry::index::overlaps()]],
|
|
* [^`! `[link group__predicates_1gabf9c4e76dd8a09a4c476f2f8fa8a0e4d boost::geometry::index::within()]]
|
|
* [^[link group__predicates_1ga5c93efac97377136564623cbaf35d880 boost::geometry::index::value()]].
|
|
|
|
|
|
Those predicates may be passed together in [^`std::pair`] or [^`boost::tuple`].[heading Synopsis]
|
|
[pre
|
|
`template<``typename DistancesPredicates``,`
|
|
`typename Predicates``,`
|
|
`typename OutIter``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `nearest_query``(``DistancesPredicates const &` `dpred``,`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `k``,`
|
|
`Predicates const &` `pred``,`
|
|
`OutIter` `out_it``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`DistancesPredicates const &`][ `dpred` ][The distances predicates or a Point ]]
|
|
[[[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]]][ `k` ][The max number of values. ]]
|
|
[[`Predicates const &`][ `pred` ][The spatial predicates or a Geometry. ]]
|
|
[[`OutIter`][ `out_it` ][The output iterator of the result range. E.g. a back_insert_iterator.]]
|
|
]
|
|
[heading Returns]
|
|
The number of values found.
|
|
[heading Throws]
|
|
If Value copy constructor or copy assignment throws. If OutIter dereference or increment throws.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a89561a834563f2ed6fc782bad16143fd]
|
|
[section size()]
|
|
Returns the number of stored values.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `size``()`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Returns]
|
|
The number of stored values.
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1ae889567443b0ba0dbdb975564c55804c]
|
|
[section empty()]
|
|
Query if the container is empty.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
`bool` `empty``()`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Returns]
|
|
true if the container is empty.
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1ae6027e42d28a4bf93e74b055c79e6b09]
|
|
[section clear()]
|
|
Removes all values stored in the container.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
`void` `clear``()`
|
|
]
|
|
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a131c273b6fc7e1c6d62cc5ebd015e77e]
|
|
[section envelope()]
|
|
Returns the box able to contain all values stored in the container.
|
|
|
|
[heading Description]
|
|
Returns the box able to contain all values stored in the container. If the container is empty the result of [^`geometry::assign_inverse()`] is returned.[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a2803990c71c40e6770744d29e5bbd093 envelope_type]]` const &` `envelope``()`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Returns]
|
|
The box able to contain all values stored in the container or an invalid box if there are no values in the container.
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a17fce1fac81f6460d2c3a5744f4963ee]
|
|
[section count(ValueOrIndexable const &)]
|
|
Count Values or Indexables stored in the container.
|
|
|
|
[heading Description]
|
|
For indexable_type it returns the number of values which indexables equals the parameter. For value_type it returns the number of values which equals the parameter.[heading Synopsis]
|
|
[pre
|
|
`template<``typename ValueOrIndexable``>`
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a5c1a657074c527ed65f858c1ab6b36e6 size_type]] `count``(``ValueOrIndexable const &` `vori``)`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Parameter(s)]
|
|
[table
|
|
[[Type][Name][Description]]
|
|
[[`ValueOrIndexable const &`][ `vori` ][The value or indexable which will be counted.]]
|
|
]
|
|
[heading Returns]
|
|
The number of values found.
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a18910715f67608ff010556ac41f51606]
|
|
[section parameters()]
|
|
Returns parameters.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1af85d4e399a807b3e4e46d38a0b4ffc5a parameters_type]]` const &` `parameters``()`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Returns]
|
|
The parameters object.
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1afc7e9a4bd53a58552c17c1e7cb997258]
|
|
[section translator()]
|
|
Returns the translator object.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1adbc30a1fa986e2e856e0662111ac2d91 translator_type]]` const &` `translator``()`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Returns]
|
|
The translator object.
|
|
[heading Throws]
|
|
Nothing.
|
|
|
|
[endsect]
|
|
|
|
[#classboost_1_1geometry_1_1index_1_1rtree_1a1eeb303253f4cabe3a89a82ed41247ff]
|
|
[section get_allocator()]
|
|
Returns allocator used by the rtree.
|
|
|
|
[heading Synopsis]
|
|
[pre
|
|
|
|
[^[link classboost_1_1geometry_1_1index_1_1rtree_1a9d35bc38fa697c6f600548fb5b38807d allocator_type]] `get_allocator``()`
|
|
]
|
|
|
|
[heading Modifier(s)]
|
|
``const ``[heading Returns]
|
|
The allocator.
|
|
[heading Throws]
|
|
If allocator copy constructor throws.
|
|
|
|
[endsect]
|
|
|
|
[endsect]
|
|
|