mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-10 23:42:12 +00:00
Translator copy ctor exception handled.
Exception-safety docs moddified. [SVN r81365]
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Introduction</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="prev" href="../index.html" title="Chapter 1. Geometry Index">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>R-tree</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="prev" href="introduction.html" title="Introduction">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Creation and modification</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../r_tree.html" title="R-tree">
|
||||
<link rel="prev" href="rtree_quickstart.html" title="Quick Start">
|
||||
@@ -51,7 +51,7 @@
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">rtree</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span> <span class="identifier">Parameters</span><span class="special">,</span> <span class="identifier">Translator</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">></span>
|
||||
</pre>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput">Value</code> - type of object which will be stored in the container.
|
||||
</li>
|
||||
@@ -89,7 +89,7 @@
|
||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><...></span></code>,
|
||||
pointer, iterator or smart pointer.
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput">Indexable <span class="special">=</span> <a href="http://www.boost.org/libs/geometry/doc/html/geometry/reference/concepts/concept_point.html" target="_top">Point</a>
|
||||
<span class="special">|</span> <a href="http://www.boost.org/libs/geometry/doc/html/geometry/reference/concepts/concept_box.html" target="_top">Box</a></code>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Exception safety</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../r_tree.html" title="R-tree">
|
||||
<link rel="prev" href="nearest_neighbours_queries.html" title="Nearest neighbours queries">
|
||||
@@ -28,7 +28,7 @@
|
||||
<p>
|
||||
In order to be exception-safe the R-tree requires:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Nonthrowing copy constructor of the <code class="computeroutput"><span class="identifier">CoordinateType</span></code>
|
||||
used in the <code class="computeroutput">Indexable</code>,
|
||||
@@ -63,7 +63,8 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<span class="emphasis"><em>nothrow</em></span>
|
||||
<span class="emphasis"><em>nothrow (default)</em></span> or <span class="bold"><strong>strong</strong></span>
|
||||
<sup>[<a name="geometry_index.r_tree.exception_safety.f0" href="#ftn.geometry_index.r_tree.exception_safety.f0" class="footnote">a</a>]</sup>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -93,6 +94,12 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">rtree</span><span class="special">(</span><span class="identifier">rtree</span> <span class="keyword">const</span><span class="special">&)</span></code>
|
||||
@@ -117,6 +124,12 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">rtree</span><span class="special">(</span><span class="identifier">rtree</span> <span class="special">&&)</span></code>
|
||||
@@ -124,7 +137,8 @@
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<span class="emphasis"><em>nothrow</em></span>
|
||||
<span class="emphasis"><em>nothrow (default)</em></span> or <span class="bold"><strong>strong</strong></span>
|
||||
<sup>[<a name="geometry_index.r_tree.exception_safety.f1" href="#ftn.geometry_index.r_tree.exception_safety.f1" class="footnote">b</a>]</sup>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -137,11 +151,17 @@
|
||||
<td>
|
||||
<p>
|
||||
<span class="emphasis"><em>nothrow</em></span> or <span class="bold"><strong>strong</strong></span>
|
||||
<a href="#ftn.geometry_index.r_tree.exception_safety.f0" class="footnote"><sup class="footnote"><a name="geometry_index.r_tree.exception_safety.f0"></a>[a]</sup></a>
|
||||
<sup>[<a name="geometry_index.r_tree.exception_safety.f2" href="#ftn.geometry_index.r_tree.exception_safety.f2" class="footnote">c</a>]</sup>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">insert</span><span class="special">(</span>Value<span class="special">)</span></code>
|
||||
@@ -192,6 +212,12 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">spatial_query</span><span class="special">(...)</span></code>
|
||||
@@ -216,6 +242,12 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
|
||||
@@ -275,10 +307,51 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">parameters</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<span class="emphasis"><em>nothrow</em></span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">translator</span><span class="special">()</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<span class="emphasis"><em>nothrow</em></span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody class="footnotes"><tr><td colspan="2"><div id="ftn.geometry_index.r_tree.exception_safety.f0" class="footnote"><p><a href="#geometry_index.r_tree.exception_safety.f0" class="para"><sup class="para">[a] </sup></a>
|
||||
<span class="emphasis"><em>nothrow</em></span> - if allocators are equal, <span class="bold"><strong>strong</strong></span> - if allocators aren't equal
|
||||
</p></div></td></tr></tbody>
|
||||
<tbody class="footnotes"><tr><td colspan="2">
|
||||
<div class="footnote"><p><sup>[<a id="ftn.geometry_index.r_tree.exception_safety.f0" href="#geometry_index.r_tree.exception_safety.f0" class="para">a</a>] </sup>
|
||||
<span class="emphasis"><em>nothrow</em></span> - if <code class="computeroutput"><span class="identifier">Translator</span></code>
|
||||
has nonthrowing copy constructor (default), <span class="bold"><strong>strong</strong></span>
|
||||
- if <code class="computeroutput"><span class="identifier">Translator</span></code>
|
||||
has throwing copy constructor
|
||||
</p></div>
|
||||
<div class="footnote"><p><sup>[<a id="ftn.geometry_index.r_tree.exception_safety.f1" href="#geometry_index.r_tree.exception_safety.f1" class="para">b</a>] </sup>
|
||||
<span class="emphasis"><em>nothrow</em></span> - if <code class="computeroutput"><span class="identifier">Translator</span></code>
|
||||
has nonthrowing copy constructor (default), <span class="bold"><strong>strong</strong></span>
|
||||
- if <code class="computeroutput"><span class="identifier">Translator</span></code>
|
||||
has throwing copy constructor
|
||||
</p></div>
|
||||
<div class="footnote"><p><sup>[<a id="ftn.geometry_index.r_tree.exception_safety.f2" href="#geometry_index.r_tree.exception_safety.f2" class="para">c</a>] </sup>
|
||||
<span class="emphasis"><em>nothrow</em></span> - if allocators are equal and <code class="computeroutput"><span class="identifier">Translator</span></code> has nonthrowing
|
||||
copy constructor (default), <span class="bold"><strong>strong</strong></span>
|
||||
- if allocators aren't equal or <code class="computeroutput"><span class="identifier">Translator</span></code>
|
||||
has throwing copy constructor
|
||||
</p></div>
|
||||
</td></tr></tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Introduction</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../r_tree.html" title="R-tree">
|
||||
<link rel="prev" href="../r_tree.html" title="R-tree">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Nearest neighbours queries</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../r_tree.html" title="R-tree">
|
||||
<link rel="prev" href="spatial_queries.html" title="Spatial queries">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Quick Start</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../r_tree.html" title="R-tree">
|
||||
<link rel="prev" href="introduction.html" title="Introduction">
|
||||
@@ -109,7 +109,7 @@
|
||||
</p>
|
||||
<h4>
|
||||
<a name="geometry_index.r_tree.rtree_quickstart.h0"></a>
|
||||
<span class="phrase"><a name="geometry_index.r_tree.rtree_quickstart.more"></a></span><a class="link" href="rtree_quickstart.html#geometry_index.r_tree.rtree_quickstart.more">More</a>
|
||||
<span><a name="geometry_index.r_tree.rtree_quickstart.more"></a></span><a class="link" href="rtree_quickstart.html#geometry_index.r_tree.rtree_quickstart.more">More</a>
|
||||
</h4>
|
||||
<p>
|
||||
More information about the R-tree implementation, other algorithms and queries
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Spatial queries</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="up" href="../r_tree.html" title="R-tree">
|
||||
<link rel="prev" href="creation_and_modification.html" title="Creation and modification">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Chapter 1. Geometry Index</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/release/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Geometry Index">
|
||||
<link rel="next" href="geometry_index/introduction.html" title="Introduction">
|
||||
</head>
|
||||
@@ -56,7 +56,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: November 14, 2012 at 23:30:31 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: November 16, 2012 at 12:39:01 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
||||
@@ -17,24 +17,34 @@ In order to be exception-safe the __rtree__ requires:
|
||||
|
||||
[table
|
||||
[[Operation] [exception-safety]]
|
||||
[[`rtree()`] [ /nothrow/ ]]
|
||||
[[`rtree()`] [ /nothrow (default)/ or *strong*
|
||||
[footnote /nothrow/ - if `Translator` has nonthrowing copy constructor (default), *strong* - if `Translator` has throwing copy constructor]]]
|
||||
[[`rtree(first, last)`] [ *strong* ]]
|
||||
[[`~rtree()`] [ /nothrow/ ]]
|
||||
[[][]]
|
||||
[[`rtree(rtree const&)`] [ *strong* ]]
|
||||
[[`operator=(rtree const&)`] [ *strong* ]]
|
||||
[[`rtree(rtree &&)`] [ /nothrow/ ]]
|
||||
[[`operator=(rtree &&)`] [ /nothrow/ or *strong* [footnote /nothrow/ - if allocators are equal, *strong* - if allocators aren't equal ]]]
|
||||
[[][]]
|
||||
[[`rtree(rtree &&)`] [ /nothrow (default)/ or *strong*
|
||||
[footnote /nothrow/ - if `Translator` has nonthrowing copy constructor (default), *strong* - if `Translator` has throwing copy constructor]]]
|
||||
[[`operator=(rtree &&)`] [ /nothrow/ or *strong*
|
||||
[footnote /nothrow/ - if allocators are equal and `Translator` has nonthrowing copy constructor (default), *strong* - if allocators aren't equal or `Translator` has throwing copy constructor]]]
|
||||
[[][]]
|
||||
[[`insert(__value__)`] [ basic ]]
|
||||
[[`insert(first, last)`] [ basic ]]
|
||||
[[`remove(__value__)`] [ basic ]]
|
||||
[[`remove(first, last)`] [ basic ]]
|
||||
[[][]]
|
||||
[[`spatial_query(...)`] [ *strong* ]]
|
||||
[[`nearest_query(...)`] [ *strong* ]]
|
||||
[[][]]
|
||||
[[`size()`] [ /nothrow/ ]]
|
||||
[[`empty()`] [ /nothrow/ ]]
|
||||
[[`clear()`] [ /nothrow/ ]]
|
||||
[[`box()`] [ /nothrow/ ]]
|
||||
[[`get_allocator()`] [ /nothrow/ ]]
|
||||
[[`parameters()`] [ /nothrow/ ]]
|
||||
[[`translator()`] [ /nothrow/ ]]
|
||||
]
|
||||
|
||||
[endsect] [/Exception safety/]
|
||||
|
||||
@@ -103,19 +103,20 @@ public:
|
||||
/*!
|
||||
The constructor.
|
||||
|
||||
\note Exception-safety: nothrow
|
||||
\note Exception-safety: nothrow (if translator has nonthrowing copy ctor),
|
||||
strong (if translator has throwing copy ctor)
|
||||
|
||||
\param parameters The parameters object.
|
||||
\param translator The translator object.
|
||||
\param allocator The allocator object.
|
||||
*/
|
||||
inline explicit rtree(Parameters parameters = Parameters(), translator_type const& translator = translator_type(), Allocator allocator = Allocator())
|
||||
: m_values_count(0)
|
||||
, m_root(0)
|
||||
, m_leafs_level(0)
|
||||
: m_translator(translator) // MAY THROW (copy)
|
||||
, m_parameters(parameters)
|
||||
, m_translator(translator)
|
||||
, m_allocators(allocator)
|
||||
, m_values_count(0)
|
||||
, m_leafs_level(0)
|
||||
, m_root(0)
|
||||
{}
|
||||
|
||||
/*!
|
||||
@@ -131,12 +132,12 @@ public:
|
||||
*/
|
||||
template<typename Iterator>
|
||||
inline rtree(Iterator first, Iterator last, Parameters parameters = Parameters(), translator_type const& translator = translator_type(), Allocator allocator = std::allocator<value_type>())
|
||||
: m_values_count(0)
|
||||
, m_root(0)
|
||||
, m_leafs_level(0)
|
||||
: m_translator(translator) // MAY THROW (copy)
|
||||
, m_parameters(parameters)
|
||||
, m_translator(translator)
|
||||
, m_allocators(allocator)
|
||||
, m_values_count(0)
|
||||
, m_leafs_level(0)
|
||||
, m_root(0)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -165,10 +166,12 @@ public:
|
||||
\note Exception-safety: strong
|
||||
*/
|
||||
inline rtree(rtree const& src)
|
||||
: m_root(0)
|
||||
: m_translator(src.m_translator) // MAY THROW (copy)
|
||||
, m_parameters(src.m_parameters)
|
||||
, m_translator(src.m_translator)
|
||||
, m_allocators(src.m_allocators)
|
||||
, m_values_count(0)
|
||||
, m_leafs_level(0)
|
||||
, m_root(0)
|
||||
{
|
||||
//TODO use Boost.Container allocator_traits_type::select_on_container_copy_construction()
|
||||
|
||||
@@ -181,10 +184,12 @@ public:
|
||||
\note Exception-safety: strong
|
||||
*/
|
||||
inline rtree(rtree const& src, Allocator const& allocator)
|
||||
: m_root(0)
|
||||
: m_translator(src.m_translator) // MAY THROW (copy)
|
||||
, m_parameters(src.m_parameters)
|
||||
, m_translator(src.m_translator)
|
||||
, m_allocators(allocator)
|
||||
, m_values_count(0)
|
||||
, m_leafs_level(0)
|
||||
, m_root(0)
|
||||
{
|
||||
this->raw_copy(src, *this, m_allocators);
|
||||
}
|
||||
@@ -192,19 +197,20 @@ public:
|
||||
/*!
|
||||
The moving constructor.
|
||||
|
||||
\note Exception-safety: nothrow
|
||||
\note Exception-safety: nothrow (if translator has nonthrowing copy ctor),
|
||||
strong (if translator has throwing copy ctor)
|
||||
*/
|
||||
inline rtree(BOOST_RV_REF(rtree) src)
|
||||
: m_values_count(src.m_values_count)
|
||||
, m_root(src.m_root)
|
||||
, m_leafs_level(src.m_leafs_level)
|
||||
: m_translator(src.m_translator) // MAY THROW (copy)
|
||||
, m_parameters(src.m_parameters)
|
||||
, m_translator(src.m_translator)
|
||||
, m_allocators(src.m_allocators)
|
||||
, m_values_count(src.m_values_count)
|
||||
, m_leafs_level(src.m_leafs_level)
|
||||
, m_root(src.m_root)
|
||||
{
|
||||
src.m_values_count = 0;
|
||||
src.m_root = 0;
|
||||
src.m_leafs_level = 0;
|
||||
src.m_root = 0;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -227,7 +233,8 @@ public:
|
||||
/*!
|
||||
The moving assignment.
|
||||
|
||||
\note Exception-safety: nothrow (if allocators are equal), strong (if allocators aren't equal)
|
||||
\note Exception-safety: nothrow (if allocators are equal and translator has nonthrowing copy ctor),
|
||||
strong (if allocators aren't equal or translator has throwing copy ctor)
|
||||
*/
|
||||
inline rtree & operator=(BOOST_RV_REF(rtree) src)
|
||||
{
|
||||
@@ -238,16 +245,17 @@ public:
|
||||
|
||||
if ( m_allocators.allocator == src.m_allocators.allocator )
|
||||
{
|
||||
m_translator = src.m_translator; // MAY THROW (copy)
|
||||
m_parameters = src.m_parameters;
|
||||
m_translator = src.m_translator;
|
||||
//m_allocators = src.m_allocators;
|
||||
|
||||
m_values_count = src.m_values_count;
|
||||
src.m_values_count = 0;
|
||||
m_root = src.m_root;
|
||||
src.m_root = 0;
|
||||
m_leafs_level = src.m_leafs_level;
|
||||
m_root = src.m_root;
|
||||
|
||||
src.m_values_count = 0;
|
||||
src.m_leafs_level = 0;
|
||||
src.m_root = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -548,7 +556,7 @@ public:
|
||||
/*!
|
||||
Returns allocator used by the rtree.
|
||||
|
||||
\note Exception-safety: nothrow if allocator copy can't throw.
|
||||
\note Exception-safety: nothrow
|
||||
|
||||
\return The allocator.
|
||||
*/
|
||||
@@ -565,7 +573,7 @@ private:
|
||||
This function is not a part of the 'official' interface. However it makes
|
||||
possible e.g. to pass a visitor drawing the tree structure.
|
||||
|
||||
\note Exception-safety: the same as visitor.
|
||||
\note Exception-safety: the same as Visitor::operator().
|
||||
|
||||
\param visitor The visitor object.
|
||||
*/
|
||||
@@ -579,7 +587,7 @@ private:
|
||||
Returns the number of stored objects. Same as size()
|
||||
This function is not a part of the 'official' interface.
|
||||
|
||||
\note Exception-safety: nothrow.
|
||||
\note Exception-safety: nothrow
|
||||
|
||||
\return The number of stored objects.
|
||||
*/
|
||||
@@ -720,8 +728,9 @@ private:
|
||||
dst.m_root = 0;
|
||||
}
|
||||
|
||||
dst.m_parameters = src.m_parameters;
|
||||
dst.m_translator = src.m_translator;
|
||||
|
||||
dst.m_parameters = src.m_parameters;
|
||||
dst.m_allocators = allocators;
|
||||
|
||||
dst.m_root = copy_v.result;
|
||||
@@ -799,13 +808,13 @@ private:
|
||||
return result.get(out_it);
|
||||
}
|
||||
|
||||
size_type m_values_count;
|
||||
node *m_root;
|
||||
size_type m_leafs_level;
|
||||
|
||||
Parameters m_parameters;
|
||||
translator_type m_translator;
|
||||
Parameters m_parameters;
|
||||
allocators_type m_allocators;
|
||||
|
||||
size_type m_values_count;
|
||||
size_type m_leafs_level;
|
||||
node * m_root;
|
||||
};
|
||||
|
||||
/*!
|
||||
|
||||
Reference in New Issue
Block a user