]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/geometry/doc/index/rtree/exception_safety.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / geometry / doc / index / rtree / exception_safety.qbk
CommitLineData
7c673cae
FG
1[/============================================================================
2 Boost.Geometry Index
3
4 Copyright (c) 2011-2012 Adam Wulkiewicz.
5
6 Use, modification and distribution is subject to the Boost Software License,
7 Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
8 http://www.boost.org/LICENSE_1_0.txt)
9=============================================================================/]
10
11[section Exception safety]
12
13In order to be exception-safe the __rtree__ requires:
14
15* exception-safe copy constructor and copy assignment of the `__value__`.
16* exception-safe copy constructor and copy assignment of the `CoordinateType` used in the `Indexable`.
17* nonthrowing copy constructor of the `Translator`.
18* nonthrowing destructors of above types.
19
20[table
21[[Operation] [exception-safety]]
22[[`rtree()`] [ /nothrow/ ]]
23[[`rtree(Iterator, Iterator)`] [ *strong* ]]
24[[`~rtree()`] [ /nothrow/ ]]
25[[][]]
26[[`rtree(rtree const&)`] [ *strong* ]]
27[[`operator=(rtree const&)`] [ *strong* ]]
28[[][]]
29[[`rtree(rtree &&)`] [ /nothrow/ ]]
30[[`operator=(rtree &&)`] [ /nothrow/ or *strong*
31[footnote /nothrow/ - if allocators are equal, *strong* - otherwise]]]
32[[`swap(rtree &)`] [ /nothrow/ ]]
33[[][]]
34[[`insert(__value__)`] [ not safe
35[footnote If this operation throws, the R-tree may be left in an inconsistent state, elements must not be inserted or removed, methods may return invalid data.]]]
36[[`insert(Iterator, Iterator)`][ not safe ]]
37[[`insert(Range)`] [ not safe ]]
38[[`remove(__value__)`] [ not safe ]]
39[[`remove(Iterator, Iterator)`][ not safe ]]
40[[`remove(Range)`] [ not safe ]]
41[[`clear()`] [ /nothrow/ ]]
42[[][]]
43[[`spatial_query(...)`] [ *strong* ]]
44[[`nearest_query(...)`] [ *strong* ]]
45[[`count(ValueOrIndexable)`] [ /nothrow/ ]]
46[[][]]
47[[`size()`] [ /nothrow/ ]]
48[[`empty()`] [ /nothrow/ ]]
49[[`box()`] [ /nothrow/ or *strong*
50[footnote /nothrow/ - if `CoordinateType` has nonthrowing copy constructor, *strong* - otherwise]]]
51[[][]]
52[[`get_allocator()`] [ /nothrow/ ]]
53[[`parameters()`] [ /nothrow/ ]]
54[[`translator()`] [ /nothrow/ ]]
55]
56
57[endsect] [/Exception safety/]