• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
2[/ Generated from xml/group__rtree__functions.xml]
3[section:group__rtree__functions R-tree free functions (boost::geometry::index::)]
4[heading Functions]
5[table
6[[Function][Description]]
7[[[link group__rtree__functions_1gada4f62111ed22eb2860ea30995c1ce60 `insert(rtree<...> &, Value const &)`]][Insert a value to the index. ]]
8[[[link group__rtree__functions_1ga056469ea699e609e67762fe1b789997f `insert(rtree<...> &, Iterator, Iterator)`]][Insert a range of values to the index. ]]
9[[[link group__rtree__functions_1gab4edad000d63eb103f2dad3813ceb2b3 `insert(rtree<...> &, ConvertibleOrRange const &)`]][Insert a value created using convertible object or a range of values to the index. ]]
10[[[link group__rtree__functions_1gaf353d90fd933e6110b031f63166fb45a `remove(rtree<...> &, Value const &)`]][Remove a value from the container. ]]
11[[[link group__rtree__functions_1gaa460a8985496cf133f63f245527ac6e7 `remove(rtree<...> &, Iterator, Iterator)`]][Remove a range of values from the container. ]]
12[[[link group__rtree__functions_1ga700c922f8b4d5ebd073e999e12b55249 `remove(rtree<...> &, ConvertibleOrRange const &)`]][Remove a value corresponding to an object convertible to it or a range of values from the container. ]]
13[[[link group__rtree__functions_1gadb43b211d5d743ebe2ef256328286e95 `query(rtree<...> const &, Predicates const &, OutIter)`]][Finds values meeting passed predicates e.g. nearest to some Point and/or intersecting some Box. ]]
14[[[link group__rtree__functions_1ga45c2b7b112bf730d10367e10df62aa3c `qbegin(rtree<...> const &, Predicates const &)`]][Returns the query iterator pointing at the begin of the query range. ]]
15[[[link group__rtree__functions_1ga5c9a1eb0421bf2c702392247d48143e5 `qend(rtree<...> const &)`]][Returns the query iterator pointing at the end of the query range. ]]
16[[[link group__rtree__functions_1ga2467dc6ac90303496abd6ebd136eba18 `begin(rtree<...> const &)`]][Returns the iterator pointing at the begin of the rtree values range. ]]
17[[[link group__rtree__functions_1ga8fd1e53d8492643cbc9840ff715bb736 `end(rtree<...> const &)`]][Returns the iterator pointing at the end of the rtree values range. ]]
18[[[link group__rtree__functions_1gabaca6c24c3838a8164aa3700c459e7a4 `clear(rtree<...> &)`]][Remove all values from the index. ]]
19[[[link group__rtree__functions_1gaa19a09e7b5f0a86a4b74ef2342de1d68 `size(rtree<...> const &)`]][Get the number of values stored in the index. ]]
20[[[link group__rtree__functions_1gaba44e2fb12fdc7b528bfee56a88e0844 `empty(rtree<...> const &)`]][Query if there are no values stored in the index. ]]
21[[[link group__rtree__functions_1ga4e43e7720c66e88959ff511a7462a3ff `bounds(rtree<...> const &)`]][Get the box containing all stored values or an invalid box if the index has no values. ]]
22[[[link group__rtree__functions_1gaa1250318a78d7e27ba8f3537eb0ddb3f `swap(rtree<...> &, rtree<...> &)`]][Exchanges the contents of the container with those of other. ]]
23]
24
25[#group__rtree__functions_1gada4f62111ed22eb2860ea30995c1ce60]
26[section insert(rtree<...> &, Value const &)]
27'''<indexterm><primary>insert</primary></indexterm>'''
28Insert a value to the index.
29
30[heading Description]
31It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1ad47980467e66b8644df18a480dbf9d86 rtree::insert(value_type const&)]].[heading Synopsis]
32[pre
33`template<``typename Value``,`
34         `typename Parameters``,`
35         `typename IndexableGetter``,`
36         `typename EqualTo``,`
37         `typename Allocator``>`
38`void` `insert``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `Value const &` `v``)`
39]
40
41[heading Parameter(s)]
42[table
43[[Type][Name][Description]]
44[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
45[[`Value const &`][ `v` ][The value which will be stored in the index. ]]
46]
47[endsect]
48
49[#group__rtree__functions_1ga056469ea699e609e67762fe1b789997f]
50[section insert(rtree<...> &, Iterator, Iterator)]
51'''<indexterm><primary>insert</primary></indexterm>'''
52Insert a range of values to the index.
53
54[heading Description]
55It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a60d4c8790fd8810ff8b57f049e6bed8d rtree::insert(Iterator, Iterator)]].[heading Synopsis]
56[pre
57`template<``typename Value``,`
58         `typename Parameters``,`
59         `typename IndexableGetter``,`
60         `typename EqualTo``,`
61         `typename Allocator``,`
62         `typename Iterator``>`
63`void` `insert``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,`
64            `Iterator` `first``,`
65            `Iterator` `last``)`
66]
67
68[heading Parameter(s)]
69[table
70[[Type][Name][Description]]
71[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
72[[`Iterator`][ `first` ][The beginning of the range of values. ]]
73[[`Iterator`][ `last` ][The end of the range of values. ]]
74]
75[endsect]
76
77[#group__rtree__functions_1gab4edad000d63eb103f2dad3813ceb2b3]
78[section insert(rtree<...> &, ConvertibleOrRange const &)]
79'''<indexterm><primary>insert</primary></indexterm>'''
80Insert a value created using convertible object or a range of values to the index.
81
82[heading Description]
83It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a5db294b14ebf1319edcfc92e78c8167e rtree::insert(ConvertibleOrRange const&)]].[heading Synopsis]
84[pre
85`template<``typename Value``,`
86         `typename Parameters``,`
87         `typename IndexableGetter``,`
88         `typename EqualTo``,`
89         `typename Allocator``,`
90         `typename ConvertibleOrRange``>`
91`void` `insert``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `ConvertibleOrRange const &` `conv_or_rng``)`
92]
93
94[heading Parameter(s)]
95[table
96[[Type][Name][Description]]
97[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
98[[`ConvertibleOrRange const &`][ `conv_or_rng` ][The object of type convertible to value_type or a range of values. ]]
99]
100[endsect]
101
102[#group__rtree__functions_1gaf353d90fd933e6110b031f63166fb45a]
103[section remove(rtree<...> &, Value const &)]
104'''<indexterm><primary>remove</primary></indexterm>'''
105Remove a value from the container.
106
107[heading Description]
108Remove 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.
109
110It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a1ce933b0b833faec5349bfc27bde15d4 rtree::remove(value_type const&)]].[heading Synopsis]
111[pre
112`template<``typename Value``,`
113         `typename Parameters``,`
114         `typename IndexableGetter``,`
115         `typename EqualTo``,`
116         `typename Allocator``>`
117`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `remove``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `Value const &` `v``)`
118]
119
120[heading Parameter(s)]
121[table
122[[Type][Name][Description]]
123[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
124[[`Value const &`][ `v` ][The value which will be removed from the index.]]
125]
126[heading Returns]
1271 if value was removed, 0 otherwise.
128[endsect]
129
130[#group__rtree__functions_1gaa460a8985496cf133f63f245527ac6e7]
131[section remove(rtree<...> &, Iterator, Iterator)]
132'''<indexterm><primary>remove</primary></indexterm>'''
133Remove a range of values from the container.
134
135[heading Description]
136Remove 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.
137
138It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1aa97084231d17564a94f0142d095cecaa rtree::remove(Iterator, Iterator)]].[heading Synopsis]
139[pre
140`template<``typename Value``,`
141         `typename Parameters``,`
142         `typename IndexableGetter``,`
143         `typename EqualTo``,`
144         `typename Allocator``,`
145         `typename Iterator``>`
146`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `remove``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,`
147                                                                                  `Iterator` `first``,`
148                                                                                  `Iterator` `last``)`
149]
150
151[heading Parameter(s)]
152[table
153[[Type][Name][Description]]
154[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
155[[`Iterator`][ `first` ][The beginning of the range of values. ]]
156[[`Iterator`][ `last` ][The end of the range of values.]]
157]
158[heading Returns]
159The number of removed values.
160[endsect]
161
162[#group__rtree__functions_1ga700c922f8b4d5ebd073e999e12b55249]
163[section remove(rtree<...> &, ConvertibleOrRange const &)]
164'''<indexterm><primary>remove</primary></indexterm>'''
165Remove a value corresponding to an object convertible to it or a range of values from the container.
166
167[heading Description]
168Remove a value corresponding to an object convertible to it or 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.
169
170It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a320cd1861ba7b43364ed53e1f93a4411 rtree::remove(ConvertibleOrRange const&)]].[heading Synopsis]
171[pre
172`template<``typename Value``,`
173         `typename Parameters``,`
174         `typename IndexableGetter``,`
175         `typename EqualTo``,`
176         `typename Allocator``,`
177         `typename ConvertibleOrRange``>`
178`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `remove``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `ConvertibleOrRange const &` `conv_or_rng``)`
179]
180
181[heading Parameter(s)]
182[table
183[[Type][Name][Description]]
184[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
185[[`ConvertibleOrRange const &`][ `conv_or_rng` ][The object of type convertible to value_type or the range of values.]]
186]
187[heading Returns]
188The number of removed values.
189[endsect]
190
191[#group__rtree__functions_1gadb43b211d5d743ebe2ef256328286e95]
192[section query(rtree<...> const &, Predicates const &, OutIter)]
193'''<indexterm><primary>query</primary></indexterm>'''
194Finds values meeting passed predicates e.g. nearest to some Point and/or intersecting some Box.
195
196[heading Description]
197This query function performs spatial and k-nearest neighbor searches. It allows to pass a set of predicates. Values will be returned only if all predicates are met.
198
199[*Spatial predicates]
200
201Spatial predicates may be generated by one of the functions listed below:
202
203* [^[link group__predicates_1gac52a6557110425d4ece53fbd6f9ff866 boost::geometry::index::contains()]],
204* [^[link group__predicates_1ga02dbb7cca47de0b921ef96af464d9590 boost::geometry::index::covered_by()]],
205* [^[link group__predicates_1ga0e92e4a20dd19185584fe85847439108 boost::geometry::index::covers()]],
206* [^[link group__predicates_1ga0aa114ab16f40c8caeb3338adba5d6da boost::geometry::index::disjoint()]],
207* [^[link group__predicates_1ga78cb2ef221b951867c591ffb51b7d8c5 boost::geometry::index::intersects()]],
208* [^[link group__predicates_1ga4a6d33e6f61ad5bff3bdee50a972d54b boost::geometry::index::overlaps()]],
209* [^[link group__predicates_1gaabce901b82af2aab10ebbd0dda12f4d5 boost::geometry::index::within()]],
210
211
212It is possible to negate spatial predicates:
213
214* [^`! `[link group__predicates_1gac52a6557110425d4ece53fbd6f9ff866 boost::geometry::index::contains()]],
215* [^`! `[link group__predicates_1ga02dbb7cca47de0b921ef96af464d9590 boost::geometry::index::covered_by()]],
216* [^`! `[link group__predicates_1ga0e92e4a20dd19185584fe85847439108 boost::geometry::index::covers()]],
217* [^`! `[link group__predicates_1ga0aa114ab16f40c8caeb3338adba5d6da boost::geometry::index::disjoint()]],
218* [^`! `[link group__predicates_1ga78cb2ef221b951867c591ffb51b7d8c5 boost::geometry::index::intersects()]],
219* [^`! `[link group__predicates_1ga4a6d33e6f61ad5bff3bdee50a972d54b boost::geometry::index::overlaps()]],
220* [^`! `[link group__predicates_1gaabce901b82af2aab10ebbd0dda12f4d5 boost::geometry::index::within()]]
221
222[*Satisfies predicate]
223
224This is a special kind of predicate which allows to pass a user-defined function or function object which checks if Value should be returned by the query. It's generated by:
225
226* [^[link group__predicates_1ga3213772dd3e54ad03340c2ca66b4f58c boost::geometry::index::satisfies()]].
227
228[*Nearest predicate]
229
230If the nearest predicate is passed a k-nearest neighbor search will be performed. This query will result in returning k values to the output iterator. Only one nearest predicate may be passed to the query. It may be generated by:
231
232* [^[link group__predicates_1ga8772d9d3e5b12b3292f7d94d47310e3e boost::geometry::index::nearest()]].
233
234[*Connecting predicates]
235
236Predicates may be passed together connected with [^`operator&&()`].[heading Synopsis]
237[pre
238`template<``typename Value``,`
239         `typename Parameters``,`
240         `typename IndexableGetter``,`
241         `typename EqualTo``,`
242         `typename Allocator``,`
243         `typename Predicates``,`
244         `typename OutIter``>`
245`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `query``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``,`
246                                                                                 `Predicates const &` `predicates``,`
247                                                                                 `OutIter` `out_it``)`
248]
249
250[heading Parameter(s)]
251[table
252[[Type][Name][Description]]
253[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The rtree. ]]
254[[`Predicates const &`][ `predicates` ][Predicates. ]]
255[[`OutIter`][ `out_it` ][The output iterator, e.g. generated by std::back_inserter().]]
256]
257[heading Returns]
258The number of values found.
259[heading Example]
260
261``
262// return elements intersecting box
263bgi::query(tree, bgi::intersects(box), std::back_inserter(result));
264// return elements intersecting poly but not within box
265bgi::query(tree, bgi::intersects(poly) && !bgi::within(box), std::back_inserter(result));
266// return elements overlapping box and meeting my_fun value predicate
267bgi::query(tree, bgi::overlaps(box) && bgi::satisfies(my_fun), std::back_inserter(result));
268// return 5 elements nearest to pt and elements are intersecting box
269bgi::query(tree, bgi::nearest(pt, 5) && bgi::intersects(box), std::back_inserter(result));
270
271// For each found value do_something (it is a type of function object)
272tree.query(bgi::intersects(box),
273           boost::make_function_output_iterator(do_something()));
274``
275
276
277[heading Throws]
278If Value copy constructor or copy assignment throws.
279
280[warning Only one [^[link group__predicates_1ga8772d9d3e5b12b3292f7d94d47310e3e nearest()]] predicate may be passed to the query. Passing more of them results in compile-time error.]
281
282[endsect]
283
284[#group__rtree__functions_1ga45c2b7b112bf730d10367e10df62aa3c]
285[section qbegin(rtree<...> const &, Predicates const &)]
286'''<indexterm><primary>qbegin</primary></indexterm>'''
287Returns the query iterator pointing at the begin of the query range.
288
289[heading Description]
290This method returns the iterator which may be used to perform iterative queries. For the information about the predicates which may be passed to this method see [link group__rtree__functions_1gadb43b211d5d743ebe2ef256328286e95 query()].[heading Synopsis]
291[pre
292`template<``typename Value``,`
293         `typename Parameters``,`
294         `typename IndexableGetter``,`
295         `typename EqualTo``,`
296         `typename Allocator``,`
297         `typename Predicates``>`
298`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_query_iterator` `qbegin``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``,` `Predicates const &` `predicates``)`
299]
300
301[heading Parameter(s)]
302[table
303[[Type][Name][Description]]
304[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The rtree. ]]
305[[`Predicates const &`][ `predicates` ][Predicates.]]
306]
307[heading Returns]
308The iterator pointing at the begin of the query range.
309[heading Example]
310
311``
312std::for_each(bgi::qbegin(tree, bgi::nearest(pt, 3)), bgi::qend(tree), do_something());
313``
314
315
316[heading Iterator category]
317ForwardIterator
318
319[heading Throws]
320If predicates copy throws. If allocation throws.
321
322[warning The modification of the rtree may invalidate the iterators.]
323
324[endsect]
325
326[#group__rtree__functions_1ga5c9a1eb0421bf2c702392247d48143e5]
327[section qend(rtree<...> const &)]
328'''<indexterm><primary>qend</primary></indexterm>'''
329Returns the query iterator pointing at the end of the query range.
330
331[heading Description]
332This method returns the iterator which may be used to check if the query has ended.[heading Synopsis]
333[pre
334`template<``typename Value``,`
335         `typename Parameters``,`
336         `typename IndexableGetter``,`
337         `typename EqualTo``,`
338         `typename Allocator``>`
339`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_query_iterator` `qend``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
340]
341
342[heading Returns]
343The iterator pointing at the end of the query range.
344[heading Example]
345
346``
347std::for_each(bgi::qbegin(tree, bgi::nearest(pt, 3)), bgi::qend(tree), do_something());
348``
349
350
351[heading Iterator category]
352ForwardIterator
353
354[heading Throws]
355Nothing
356
357[warning The modification of the rtree may invalidate the iterators.]
358
359[endsect]
360
361[#group__rtree__functions_1ga2467dc6ac90303496abd6ebd136eba18]
362[section begin(rtree<...> const &)]
363'''<indexterm><primary>begin</primary></indexterm>'''
364Returns the iterator pointing at the begin of the rtree values range.
365
366[heading Description]
367This method returns the iterator which may be used to iterate over all values stored in the rtree.[heading Synopsis]
368[pre
369`template<``typename Value``,`
370         `typename Parameters``,`
371         `typename IndexableGetter``,`
372         `typename EqualTo``,`
373         `typename Allocator``>`
374`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_iterator` `begin``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
375]
376
377[heading Returns]
378The iterator pointing at the begin of the range.
379[heading Example]
380
381``
382std::for_each(bgi::begin(tree), bgi::end(tree), do_something());
383// the same as
384std::for_each(boost::begin(tree), boost::end(tree), do_something());
385``
386
387
388[heading Iterator category]
389ForwardIterator
390
391[heading Throws]
392If allocation throws.
393
394[warning The modification of the rtree may invalidate the iterators.]
395
396[endsect]
397
398[#group__rtree__functions_1ga8fd1e53d8492643cbc9840ff715bb736]
399[section end(rtree<...> const &)]
400'''<indexterm><primary>end</primary></indexterm>'''
401Returns the iterator pointing at the end of the rtree values range.
402
403[heading Description]
404This method returns the iterator which may be compared with the iterator returned by [link group__rtree__functions_1ga2467dc6ac90303496abd6ebd136eba18 begin()] in order to check if the iteration has ended.[heading Synopsis]
405[pre
406`template<``typename Value``,`
407         `typename Parameters``,`
408         `typename IndexableGetter``,`
409         `typename EqualTo``,`
410         `typename Allocator``>`
411`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_iterator` `end``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
412]
413
414[heading Returns]
415The iterator pointing at the end of the range.
416[heading Example]
417
418``
419std::for_each(bgi::begin(tree), bgi::end(tree), do_something());
420// the same as
421std::for_each(boost::begin(tree), boost::end(tree), do_something());
422``
423
424
425[heading Iterator category]
426ForwardIterator
427
428[heading Throws]
429Nothing.
430
431[warning The modification of the rtree may invalidate the iterators.]
432
433[endsect]
434
435[#group__rtree__functions_1gabaca6c24c3838a8164aa3700c459e7a4]
436[section clear(rtree<...> &)]
437'''<indexterm><primary>clear</primary></indexterm>'''
438Remove all values from the index.
439
440[heading Description]
441It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a1bec40977c175983f585c4488cf8fe3c rtree::clear()]].[heading Synopsis]
442[pre
443`template<``typename Value``,`
444         `typename Parameters``,`
445         `typename IndexableGetter``,`
446         `typename EqualTo``,`
447         `typename Allocator``>`
448`void` `clear``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``)`
449]
450
451[heading Parameter(s)]
452[table
453[[Type][Name][Description]]
454[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
455]
456[endsect]
457
458[#group__rtree__functions_1gaa19a09e7b5f0a86a4b74ef2342de1d68]
459[section size(rtree<...> const &)]
460'''<indexterm><primary>size</primary></indexterm>'''
461Get the number of values stored in the index.
462
463[heading Description]
464It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a7a7bfa3ce751e0c357c36e1bb238c523 rtree::size()]].[heading Synopsis]
465[pre
466`template<``typename Value``,`
467         `typename Parameters``,`
468         `typename IndexableGetter``,`
469         `typename EqualTo``,`
470         `typename Allocator``>`
471`size_t` `size``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
472]
473
474[heading Parameter(s)]
475[table
476[[Type][Name][Description]]
477[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The spatial index.]]
478]
479[heading Returns]
480The number of values stored in the index.
481[endsect]
482
483[#group__rtree__functions_1gaba44e2fb12fdc7b528bfee56a88e0844]
484[section empty(rtree<...> const &)]
485'''<indexterm><primary>empty</primary></indexterm>'''
486Query if there are no values stored in the index.
487
488[heading Description]
489It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a18bed92ff302df192215c3809fe5272e rtree::empty()]].[heading Synopsis]
490[pre
491`template<``typename Value``,`
492         `typename Parameters``,`
493         `typename IndexableGetter``,`
494         `typename EqualTo``,`
495         `typename Allocator``>`
496`bool` `empty``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
497]
498
499[heading Parameter(s)]
500[table
501[[Type][Name][Description]]
502[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The spatial index.]]
503]
504[heading Returns]
505true if there are no values in the index.
506[endsect]
507
508[#group__rtree__functions_1ga4e43e7720c66e88959ff511a7462a3ff]
509[section bounds(rtree<...> const &)]
510'''<indexterm><primary>bounds</primary></indexterm>'''
511Get the box containing all stored values or an invalid box if the index has no values.
512
513[heading Description]
514It calls [^`rtree::envelope()`].[heading Synopsis]
515[pre
516`template<``typename Value``,`
517         `typename Parameters``,`
518         `typename IndexableGetter``,`
519         `typename EqualTo``,`
520         `typename Allocator``>`
521`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::bounds_type` `bounds``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
522]
523
524[heading Parameter(s)]
525[table
526[[Type][Name][Description]]
527[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The spatial index.]]
528]
529[heading Returns]
530The box containing all stored values or an invalid box.
531[endsect]
532
533[#group__rtree__functions_1gaa1250318a78d7e27ba8f3537eb0ddb3f]
534[section swap(rtree<...> &, rtree<...> &)]
535'''<indexterm><primary>swap</primary></indexterm>'''
536Exchanges the contents of the container with those of other.
537
538[heading Description]
539It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1aedb719dfece91d298e9ee56878524c9b rtree::swap()]].[heading Synopsis]
540[pre
541`template<``typename Value``,`
542         `typename Parameters``,`
543         `typename IndexableGetter``,`
544         `typename EqualTo``,`
545         `typename Allocator``>`
546`void` `swap``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `l``,` `rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `r``)`
547]
548
549[heading Parameter(s)]
550[table
551[[Type][Name][Description]]
552[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `l` ][The first rtree. ]]
553[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `r` ][The second rtree. ]]
554]
555[endsect]
556
557[endsect]
558
559