[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
[/ Generated from xml/group__rtree__functions.xml]
[section:group__rtree__functions R-tree free functions (boost::geometry::index::)]
[heading Functions]
[table
[[Function][Description]]
[[[link group__rtree__functions_1gada4f62111ed22eb2860ea30995c1ce60 `insert(rtree<...> &, Value const &)`]][Insert a value to the index. ]]
[[[link group__rtree__functions_1ga056469ea699e609e67762fe1b789997f `insert(rtree<...> &, Iterator, Iterator)`]][Insert a range of values to the index. ]]
[[[link group__rtree__functions_1gab4edad000d63eb103f2dad3813ceb2b3 `insert(rtree<...> &, ConvertibleOrRange const &)`]][Insert a value created using convertible object or a range of values to the index. ]]
[[[link group__rtree__functions_1gaf379b6307c7305cde0c9d5322e5c7418 `remove(rtree<...> &, Value const &)`]][Remove a value from the container. ]]
[[[link group__rtree__functions_1gad77adf211af6c76209f70e5b193def8e `remove(rtree<...> &, Iterator, Iterator)`]][Remove a range of values from the container. ]]
[[[link group__rtree__functions_1ga8003663b883be54aa1cf46cf9eb96c0f `remove(rtree<...> &, ConvertibleOrRange const &)`]][Remove a value corresponding to an object convertible to it or a range of values from the container. ]]
[[[link group__rtree__functions_1gaa649dc561d6ccec3f481126e61fa0630 `query(rtree<...> const &, Predicates const &, OutIter)`]][Finds values meeting passed predicates e.g. nearest to some Point and/or intersecting some Box. ]]
[[[link group__rtree__functions_1ga2787916126cb17fb36fdbcd7fac55edb `qbegin(rtree<...> const &, Predicates const &)`]][Returns the query iterator pointing at the begin of the query range. ]]
[[[link group__rtree__functions_1gafd3f4909c43a0232bb393e79d31c5bf1 `qend(rtree<...> const &)`]][Returns the query iterator pointing at the end of the query range. ]]
[[[link group__rtree__functions_1gaf006ae13061bc066890d3a5175f47967 `begin(rtree<...> const &)`]][Returns the iterator pointing at the begin of the rtree values range. ]]
[[[link group__rtree__functions_1gaa1b5bf99b8f35c8b2cb51dec4c7e526f `end(rtree<...> const &)`]][Returns the iterator pointing at the end of the rtree values range. ]]
[[[link group__rtree__functions_1gabaca6c24c3838a8164aa3700c459e7a4 `clear(rtree<...> &)`]][Remove all values from the index. ]]
[[[link group__rtree__functions_1gaa19a09e7b5f0a86a4b74ef2342de1d68 `size(rtree<...> const &)`]][Get the number of values stored in the index. ]]
[[[link group__rtree__functions_1gaba44e2fb12fdc7b528bfee56a88e0844 `empty(rtree<...> const &)`]][Query if there are no values stored in the index. ]]
[[[link group__rtree__functions_1gad79e4e1f913afb9434b0e85df4fa6f84 `bounds(rtree<...> const &)`]][Get the box containing all stored values or an invalid box if the index has no values. ]]
[[[link group__rtree__functions_1gaa1250318a78d7e27ba8f3537eb0ddb3f `swap(rtree<...> &, rtree<...> &)`]][Exchanges the contents of the container with those of other. ]]
]

[#group__rtree__functions_1gada4f62111ed22eb2860ea30995c1ce60]
[section insert(rtree<...> &, Value const &)]
'''<indexterm><primary>insert</primary></indexterm>'''
Insert a value to the index. 

[heading Description]
It calls [^`rtree::insert(value_type const&)`].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`void` `insert``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `Value const &` `v``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
[[`Value const &`][ `v` ][The value which will be stored in the index. ]]
]
[endsect]

[#group__rtree__functions_1ga056469ea699e609e67762fe1b789997f]
[section insert(rtree<...> &, Iterator, Iterator)]
'''<indexterm><primary>insert</primary></indexterm>'''
Insert a range of values to the index. 

[heading Description]
It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a60d4c8790fd8810ff8b57f049e6bed8d rtree::insert(Iterator, Iterator)]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``,`
         `typename Iterator``>`
`void` `insert``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,`
            `Iterator` `first``,`
            `Iterator` `last``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
[[`Iterator`][ `first` ][The beginning of the range of values. ]]
[[`Iterator`][ `last` ][The end of the range of values. ]]
]
[endsect]

[#group__rtree__functions_1gab4edad000d63eb103f2dad3813ceb2b3]
[section insert(rtree<...> &, ConvertibleOrRange const &)]
'''<indexterm><primary>insert</primary></indexterm>'''
Insert a value created using convertible object or a range of values to the index. 

[heading Description]
It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a5db294b14ebf1319edcfc92e78c8167e rtree::insert(ConvertibleOrRange const&)]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``,`
         `typename ConvertibleOrRange``>`
`void` `insert``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `ConvertibleOrRange const &` `conv_or_rng``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
[[`ConvertibleOrRange const &`][ `conv_or_rng` ][The object of type convertible to value_type or a range of values. ]]
]
[endsect]

[#group__rtree__functions_1gaf379b6307c7305cde0c9d5322e5c7418]
[section remove(rtree<...> &, Value const &)]
'''<indexterm><primary>remove</primary></indexterm>'''
Remove a value from the container. 

[heading Description]
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.

It calls [^`rtree::remove(value_type const&)`].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `remove``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `Value const &` `v``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
[[`Value const &`][ `v` ][The value which will be removed from the index.]]
]
[heading Returns]
1 if value was removed, 0 otherwise. 
[endsect]

[#group__rtree__functions_1gad77adf211af6c76209f70e5b193def8e]
[section remove(rtree<...> &, Iterator, Iterator)]
'''<indexterm><primary>remove</primary></indexterm>'''
Remove a range of values from the container. 

[heading Description]
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.

It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1aa97084231d17564a94f0142d095cecaa rtree::remove(Iterator, Iterator)]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``,`
         `typename Iterator``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `remove``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,`
                                                                                  `Iterator` `first``,`
                                                                                  `Iterator` `last``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
[[`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. 
[endsect]

[#group__rtree__functions_1ga8003663b883be54aa1cf46cf9eb96c0f]
[section remove(rtree<...> &, ConvertibleOrRange const &)]
'''<indexterm><primary>remove</primary></indexterm>'''
Remove a value corresponding to an object convertible to it or a range of values from the container. 

[heading Description]
Remove 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.

It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a320cd1861ba7b43364ed53e1f93a4411 rtree::remove(ConvertibleOrRange const&)]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``,`
         `typename ConvertibleOrRange``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `remove``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``,` `ConvertibleOrRange const &` `conv_or_rng``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
[[`ConvertibleOrRange const &`][ `conv_or_rng` ][The object of type convertible to value_type or the range of values.]]
]
[heading Returns]
The number of removed values. 
[endsect]

[#group__rtree__functions_1gaa649dc561d6ccec3f481126e61fa0630]
[section query(rtree<...> const &, Predicates const &, OutIter)]
'''<indexterm><primary>query</primary></indexterm>'''
Finds values meeting passed predicates e.g. nearest to some Point and/or intersecting some Box. 

[heading Description]
This 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.

[*Spatial predicates]

Spatial predicates may be generated by one of the functions listed below: 

* [^[link group__predicates_1gaff057c9f612ef416fd834e4d59eb26e1 boost::geometry::index::contains()]], 
* [^[link group__predicates_1ga33e1bf84e5e3658fe19b19f6331314b3 boost::geometry::index::covered_by()]], 
* [^[link group__predicates_1ga546e417153441edbeeb55c50234bbeea boost::geometry::index::covers()]], 
* [^[link group__predicates_1gac4f2328326b16c98736a6dbb70948fba boost::geometry::index::disjoint()]], 
* [^[link group__predicates_1ga2e4da4b87ceea63756ec854aa265647c boost::geometry::index::intersects()]], 
* [^[link group__predicates_1gac94f965fd8d5b2200cb2493b9f1968ee boost::geometry::index::overlaps()]], 
* [^[link group__predicates_1ga2aa3520641e62522877d0e7dc9d4bf0d boost::geometry::index::within()]],


It is possible to negate spatial predicates: 

* [^`! `[link group__predicates_1gaff057c9f612ef416fd834e4d59eb26e1 boost::geometry::index::contains()]], 
* [^`! `[link group__predicates_1ga33e1bf84e5e3658fe19b19f6331314b3 boost::geometry::index::covered_by()]], 
* [^`! `[link group__predicates_1ga546e417153441edbeeb55c50234bbeea boost::geometry::index::covers()]], 
* [^`! `[link group__predicates_1gac4f2328326b16c98736a6dbb70948fba boost::geometry::index::disjoint()]], 
* [^`! `[link group__predicates_1ga2e4da4b87ceea63756ec854aa265647c boost::geometry::index::intersects()]], 
* [^`! `[link group__predicates_1gac94f965fd8d5b2200cb2493b9f1968ee boost::geometry::index::overlaps()]], 
* [^`! `[link group__predicates_1ga2aa3520641e62522877d0e7dc9d4bf0d boost::geometry::index::within()]]

[*Satisfies predicate]

This 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: 

* [^[link group__predicates_1gaf23b2a001cdc392f58c22f64d96aa97b boost::geometry::index::satisfies()]].

[*Nearest predicate]

If 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: 

* [^[link group__predicates_1ga8b4b9bdfa5e666c7e77b7ba5d6249d9e boost::geometry::index::nearest()]].

[*Connecting predicates]

Predicates may be passed together connected with [^`operator&&()`].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``,`
         `typename Predicates``,`
         `typename OutIter``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::size_type` `query``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``,`
                                                                                 `Predicates const &` `predicates``,`
                                                                                 `OutIter` `out_it``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The rtree. ]]
[[`Predicates const &`][ `predicates` ][Predicates. ]]
[[`OutIter`][ `out_it` ][The output iterator, e.g. generated by std::back_inserter().]]
]
[heading Returns]
The number of values found. 
[heading Example]

``
// return elements intersecting box
bgi::query(tree, bgi::intersects(box), std::back_inserter(result));
// return elements intersecting poly but not within box
bgi::query(tree, bgi::intersects(poly) && !bgi::within(box), std::back_inserter(result));
// return elements overlapping box and meeting my_fun value predicate
bgi::query(tree, bgi::overlaps(box) && bgi::satisfies(my_fun), std::back_inserter(result));
// return 5 elements nearest to pt and elements are intersecting box
bgi::query(tree, bgi::nearest(pt, 5) && bgi::intersects(box), std::back_inserter(result));

// For each found value do_something (it is a type of function object)
tree.query(bgi::intersects(box),
           boost::make_function_output_iterator(do_something()));
``


[heading Throws]
If Value copy constructor or copy assignment throws.

[warning Only one [^[link group__predicates_1ga8b4b9bdfa5e666c7e77b7ba5d6249d9e nearest()]] predicate may be passed to the query. Passing more of them results in compile-time error.]

[endsect]

[#group__rtree__functions_1ga2787916126cb17fb36fdbcd7fac55edb]
[section qbegin(rtree<...> const &, Predicates const &)]
'''<indexterm><primary>qbegin</primary></indexterm>'''
Returns the query iterator pointing at the begin of the query range. 

[heading Description]
This 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_1gaa649dc561d6ccec3f481126e61fa0630 query()].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``,`
         `typename Predicates``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_query_iterator` `qbegin``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``,` `Predicates const &` `predicates``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The rtree. ]]
[[`Predicates const &`][ `predicates` ][Predicates.]]
]
[heading Returns]
The iterator pointing at the begin of the query range. 
[heading Example]

``
std::for_each(bgi::qbegin(tree, bgi::nearest(pt, 3)), bgi::qend(tree), do_something());
``


[heading Iterator category]
ForwardIterator

[heading Throws]
If predicates copy throws. If allocation throws.

[warning The modification of the rtree may invalidate the iterators.]

[endsect]

[#group__rtree__functions_1gafd3f4909c43a0232bb393e79d31c5bf1]
[section qend(rtree<...> const &)]
'''<indexterm><primary>qend</primary></indexterm>'''
Returns the query iterator pointing at the end of the query range. 

[heading Description]
This method returns the iterator which may be used to check if the query has ended.[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_query_iterator` `qend``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
]

[heading Returns]
The iterator pointing at the end of the query range. 
[heading Example]

``
std::for_each(bgi::qbegin(tree, bgi::nearest(pt, 3)), bgi::qend(tree), do_something());
``


[heading Iterator category]
ForwardIterator

[heading Throws]
Nothing

[warning The modification of the rtree may invalidate the iterators.]

[endsect]

[#group__rtree__functions_1gaf006ae13061bc066890d3a5175f47967]
[section begin(rtree<...> const &)]
'''<indexterm><primary>begin</primary></indexterm>'''
Returns the iterator pointing at the begin of the rtree values range. 

[heading Description]
This method returns the iterator which may be used to iterate over all values stored in the rtree.[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_iterator` `begin``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
]

[heading Returns]
The iterator pointing at the begin of the range. 
[heading Example]

``
std::for_each(bgi::begin(tree), bgi::end(tree), do_something());
// the same as
std::for_each(boost::begin(tree), boost::end(tree), do_something());
``


[heading Iterator category]
ForwardIterator

[heading Throws]
If allocation throws.

[warning The modification of the rtree may invalidate the iterators.]

[endsect]

[#group__rtree__functions_1gaa1b5bf99b8f35c8b2cb51dec4c7e526f]
[section end(rtree<...> const &)]
'''<indexterm><primary>end</primary></indexterm>'''
Returns the iterator pointing at the end of the rtree values range. 

[heading Description]
This method returns the iterator which may be compared with the iterator returned by [link group__rtree__functions_1gaf006ae13061bc066890d3a5175f47967 begin()] in order to check if the iteration has ended.[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::const_iterator` `end``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
]

[heading Returns]
The iterator pointing at the end of the range. 
[heading Example]

``
std::for_each(bgi::begin(tree), bgi::end(tree), do_something());
// the same as
std::for_each(boost::begin(tree), boost::end(tree), do_something());
``


[heading Iterator category]
ForwardIterator

[heading Throws]
Nothing.

[warning The modification of the rtree may invalidate the iterators.]

[endsect]

[#group__rtree__functions_1gabaca6c24c3838a8164aa3700c459e7a4]
[section clear(rtree<...> &)]
'''<indexterm><primary>clear</primary></indexterm>'''
Remove all values from the index. 

[heading Description]
It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a1bec40977c175983f585c4488cf8fe3c rtree::clear()]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`void` `clear``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `tree``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `tree` ][The spatial index. ]]
]
[endsect]

[#group__rtree__functions_1gaa19a09e7b5f0a86a4b74ef2342de1d68]
[section size(rtree<...> const &)]
'''<indexterm><primary>size</primary></indexterm>'''
Get the number of values stored in the index. 

[heading Description]
It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a7a7bfa3ce751e0c357c36e1bb238c523 rtree::size()]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`size_t` `size``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The spatial index.]]
]
[heading Returns]
The number of values stored in the index. 
[endsect]

[#group__rtree__functions_1gaba44e2fb12fdc7b528bfee56a88e0844]
[section empty(rtree<...> const &)]
'''<indexterm><primary>empty</primary></indexterm>'''
Query if there are no values stored in the index. 

[heading Description]
It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1a18bed92ff302df192215c3809fe5272e rtree::empty()]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`bool` `empty``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The spatial index.]]
]
[heading Returns]
true if there are no values in the index. 
[endsect]

[#group__rtree__functions_1gad79e4e1f913afb9434b0e85df4fa6f84]
[section bounds(rtree<...> const &)]
'''<indexterm><primary>bounds</primary></indexterm>'''
Get the box containing all stored values or an invalid box if the index has no values. 

[heading Description]
It calls [^`rtree::envelope()`].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator >::bounds_type` `bounds``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &` `tree``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > const &`][ `tree` ][The spatial index.]]
]
[heading Returns]
The box containing all stored values or an invalid box. 
[endsect]

[#group__rtree__functions_1gaa1250318a78d7e27ba8f3537eb0ddb3f]
[section swap(rtree<...> &, rtree<...> &)]
'''<indexterm><primary>swap</primary></indexterm>'''
Exchanges the contents of the container with those of other. 

[heading Description]
It calls [^[link classboost_1_1geometry_1_1index_1_1rtree_1aedb719dfece91d298e9ee56878524c9b rtree::swap()]].[heading Synopsis]
[pre
`template<``typename Value``,`
         `typename Parameters``,`
         `typename IndexableGetter``,`
         `typename EqualTo``,`
         `typename Allocator``>`
`void` `swap``(``rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `l``,` `rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &` `r``)`
]

[heading Parameter(s)]
[table 
[[Type][Name][Description]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `l` ][The first rtree. ]]
[[`rtree< Value, Parameters, IndexableGetter, EqualTo, Allocator > &`][ `r` ][The second rtree. ]]
]
[endsect]

[endsect]

