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/] 58