]>
Commit | Line | Data |
---|---|---|
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 | ||
13 | In 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/] |