diff options
Diffstat (limited to 'doc/html/boost/heap/d_ary_heap.html')
-rw-r--r--[-rwxr-xr-x] | doc/html/boost/heap/d_ary_heap.html | 174 |
1 files changed, 95 insertions, 79 deletions
diff --git a/doc/html/boost/heap/d_ary_heap.html b/doc/html/boost/heap/d_ary_heap.html index bf86d6b6c4..0448e7f07f 100755..100644 --- a/doc/html/boost/heap/d_ary_heap.html +++ b/doc/html/boost/heap/d_ary_heap.html @@ -50,46 +50,48 @@ <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span><span class="special">::</span><span class="identifier">handle_type</span> <a name="boost.heap.d_ary_heap.handle_type"></a><span class="identifier">handle_type</span><span class="special">;</span> <span class="comment">// <a class="link" href="d_ary_heap.html#boost.heap.d_ary_heapconstruct-copy-destruct">construct/copy/destruct</a></span> - <span class="keyword">explicit</span> <a class="link" href="d_ary_heap.html#id651397-bb"><span class="identifier">d_ary_heap</span></a><span class="special">(</span><span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">value_compare</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> - <a class="link" href="d_ary_heap.html#id368577-bb"><span class="identifier">d_ary_heap</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <a class="link" href="d_ary_heap.html#id368603-bb"><span class="identifier">d_ary_heap</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> - d_ary_heap& <a class="link" href="d_ary_heap.html#id368637-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> - d_ary_heap& <a class="link" href="d_ary_heap.html#id665642-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">explicit</span> <a class="link" href="d_ary_heap.html#id660836-bb"><span class="identifier">d_ary_heap</span></a><span class="special">(</span><span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">value_compare</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="d_ary_heap.html#id700326-bb"><span class="identifier">d_ary_heap</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <a class="link" href="d_ary_heap.html#id700353-bb"><span class="identifier">d_ary_heap</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + d_ary_heap& <a class="link" href="d_ary_heap.html#id700388-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + d_ary_heap& <a class="link" href="d_ary_heap.html#id728189-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="comment">// <a class="link" href="d_ary_heap.html#id688608-bb">public member functions</a></span> - <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id688611-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="d_ary_heap.html#id667637-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">size_type</span> <a class="link" href="d_ary_heap.html#id721449-bb"><span class="identifier">max_size</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id696160-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">allocator_type</span> <a class="link" href="d_ary_heap.html#id368513-bb"><span class="identifier">get_allocator</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="d_ary_heap.html#id727717-bb"><span class="identifier">top</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="d_ary_heap.html#id358475-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="comment">// <a class="link" href="d_ary_heap.html#id340973-bb">public member functions</a></span> + <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id730851-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="d_ary_heap.html#id730882-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">size_type</span> <a class="link" href="d_ary_heap.html#id730914-bb"><span class="identifier">max_size</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id692014-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">allocator_type</span> <a class="link" href="d_ary_heap.html#id706070-bb"><span class="identifier">get_allocator</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="d_ary_heap.html#id436211-bb"><span class="identifier">top</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="d_ary_heap.html#id691971-bb"><span class="identifier">push</span></a><span class="special">(</span><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> - <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="d_ary_heap.html#id394868-bb"><span class="identifier">emplace</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id674381-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id700487-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id699974-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id438319-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id438362-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id364284-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id749973-bb"><span class="identifier">update</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id750023-bb"><span class="identifier">update</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id724945-bb"><span class="identifier">increase</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id727171-bb"><span class="identifier">increase</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id473703-bb"><span class="identifier">decrease</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id429124-bb"><span class="identifier">decrease</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id664987-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id379162-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id446360-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">iterator</span> <a class="link" href="d_ary_heap.html#id345978-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">iterator</span> <a class="link" href="d_ary_heap.html#id674789-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">ordered_iterator</span> <a class="link" href="d_ary_heap.html#id738876-bb"><span class="identifier">ordered_begin</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="identifier">ordered_iterator</span> <a class="link" href="d_ary_heap.html#id651300-bb"><span class="identifier">ordered_end</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id651333-bb"><span class="identifier">reserve</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> - <span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="d_ary_heap.html#id651372-bb"><span class="identifier">value_comp</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="d_ary_heap.html#id692004-bb"><span class="identifier">emplace</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id670950-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id670993-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id671036-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id671079-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id682712-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a class="link" href="d_ary_heap.html#id477305-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id381623-bb"><span class="identifier">update</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id709854-bb"><span class="identifier">update</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id654618-bb"><span class="identifier">increase</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id436185-bb"><span class="identifier">increase</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id472814-bb"><span class="identifier">decrease</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id751639-bb"><span class="identifier">decrease</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id671933-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">handle_type</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id701864-bb"><span class="identifier">pop</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id380591-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="d_ary_heap.html#id755890-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">iterator</span> <a class="link" href="d_ary_heap.html#id440894-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">iterator</span> <a class="link" href="d_ary_heap.html#id440926-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <a class="link" href="d_ary_heap.html#id678430-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">ordered_iterator</span> <a class="link" href="d_ary_heap.html#id696181-bb"><span class="identifier">ordered_begin</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="identifier">ordered_iterator</span> <a class="link" href="d_ary_heap.html#id386408-bb"><span class="identifier">ordered_end</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> + <span class="keyword">void</span> <a class="link" href="d_ary_heap.html#id707254-bb"><span class="identifier">reserve</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> + <span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> <a class="link" href="d_ary_heap.html#id656962-bb"><span class="identifier">value_comp</span></a><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> - <span class="comment">// <a class="link" href="d_ary_heap.html#id665669-bb">public static functions</a></span> - <span class="keyword">static</span> <span class="identifier">handle_type</span> <a class="link" href="d_ary_heap.html#id665673-bb"><span class="identifier">s_handle_from_iterator</span></a><span class="special">(</span><span class="identifier">iterator</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="comment">// <a class="link" href="d_ary_heap.html#id653425-bb">public static functions</a></span> + <span class="keyword">static</span> <span class="identifier">handle_type</span> <a class="link" href="d_ary_heap.html#id653429-bb"><span class="identifier">s_handle_from_iterator</span></a><span class="special">(</span><span class="identifier">iterator</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="comment">// public data members</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">constant_time_size</span><span class="special">;</span> @@ -99,7 +101,7 @@ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">bool</span> <span class="identifier">is_stable</span><span class="special">;</span> <span class="special">}</span><span class="special">;</span></pre></div> <div class="refsect1"> -<a name="id1589912"></a><h2>Description</h2> +<a name="id1605722"></a><h2>Description</h2> <p>This class implements an immutable priority queue. Internally, the d-ary heap is represented as dynamically sized array (std::vector), that directly stores the values.</p> <p>The template parameter T is the type to be managed by the container. The user can specify additional options and if no options are provided default options are used.</p> <p>The container supports the following options:</p> @@ -114,7 +116,7 @@ <p> </p> <div class="refsect2"> -<a name="id1590015"></a><h3> +<a name="id1605825"></a><h3> <a name="boost.heap.d_ary_heaptypes"></a><code class="computeroutput">d_ary_heap</code> public types</h3> @@ -127,27 +129,27 @@ </li></ol></div> </div> <div class="refsect2"> -<a name="id1590352"></a><h3> +<a name="id1605891"></a><h3> <a name="boost.heap.d_ary_heapconstruct-copy-destruct"></a><code class="computeroutput">d_ary_heap</code> public construct/copy/destruct</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><span class="keyword">explicit</span> <a name="id651397-bb"></a><span class="identifier">d_ary_heap</span><span class="special">(</span><span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> cmp <span class="special">=</span> <span class="identifier">value_compare</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">explicit</span> <a name="id660836-bb"></a><span class="identifier">d_ary_heap</span><span class="special">(</span><span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> cmp <span class="special">=</span> <span class="identifier">value_compare</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> constructs an empty priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><a name="id368577-bb"></a><span class="identifier">d_ary_heap</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="id700326-bb"></a><span class="identifier">d_ary_heap</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> copy-constructs priority queue from rhs.</p> <p><span class="bold"><strong>Complexity:</strong></span> Linear. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><a name="id368603-bb"></a><span class="identifier">d_ary_heap</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span> rhs<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><a name="id700353-bb"></a><span class="identifier">d_ary_heap</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span> rhs<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> C++11-style move constructor.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant.</p> <p><span class="bold"><strong>Note:</strong></span> Only available, if BOOST_HAS_RVALUE_REFS is defined </p> @@ -155,7 +157,7 @@ </p> </li> <li class="listitem"> -<pre class="literallayout">d_ary_heap& <a name="id368637-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span> rhs<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout">d_ary_heap& <a name="id700388-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&&</span> rhs<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> C++11-style move assignment.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant.</p> <p><span class="bold"><strong>Note:</strong></span> Only available, if BOOST_HAS_RVALUE_REFS is defined </p> @@ -163,7 +165,7 @@ </p> </li> <li class="listitem"> -<pre class="literallayout">d_ary_heap& <a name="id665642-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout">d_ary_heap& <a name="id728189-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Assigns priority queue from rhs.</p> <p><span class="bold"><strong>Complexity:</strong></span> Linear. </p> <p> @@ -172,53 +174,53 @@ </ol></div> </div> <div class="refsect2"> -<a name="id1590732"></a><h3> -<a name="id688608-bb"></a><code class="computeroutput">d_ary_heap</code> public member functions</h3> +<a name="id1606268"></a><h3> +<a name="id340973-bb"></a><code class="computeroutput">d_ary_heap</code> public member functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<pre class="literallayout"><span class="keyword">bool</span> <a name="id688611-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">bool</span> <a name="id730851-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns true, if the priority queue contains no elements.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="id667637-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="id730882-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns the number of elements contained in the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">size_type</span> <a name="id721449-bb"></a><span class="identifier">max_size</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">size_type</span> <a name="id730914-bb"></a><span class="identifier">max_size</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns the maximum number of elements the priority queue can contain.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id696160-bb"></a><span class="identifier">clear</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id692014-bb"></a><span class="identifier">clear</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Removes all elements from the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Linear. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">allocator_type</span> <a name="id368513-bb"></a><span class="identifier">get_allocator</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">allocator_type</span> <a name="id706070-bb"></a><span class="identifier">get_allocator</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns allocator.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id727717-bb"></a><span class="identifier">top</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id436211-bb"></a><span class="identifier">top</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns a const_reference to the maximum element.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="id358475-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span> v<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="id691971-bb"></a><span class="identifier">push</span><span class="special">(</span><span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span> v<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Adds a new element to the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic (amortized). Linear (worst case). </p> <p> @@ -226,145 +228,159 @@ </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> - <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="id394868-bb"></a><span class="identifier">emplace</span><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span></pre> + <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span><span class="special"><</span> <span class="identifier">is_mutable</span><span class="special">,</span> <span class="identifier">handle_type</span><span class="special">,</span> <span class="keyword">void</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="id692004-bb"></a><span class="identifier">emplace</span><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span> args<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Adds a new element to the priority queue. The element is directly constructed in-place.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic (amortized). Linear (worst case). </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id674381-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id670950-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Returns:</strong></span> Element-wise comparison of heap data structures</p> <p><span class="bold"><strong>Requirement:</strong></span> the <code class="computeroutput">value_compare</code> object of both heaps must match. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id700487-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id670993-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Returns:</strong></span> Element-wise comparison of heap data structures</p> <p><span class="bold"><strong>Requirement:</strong></span> the <code class="computeroutput">value_compare</code> object of both heaps must match. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id699974-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id671036-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Returns:</strong></span> Element-wise comparison of heap data structures</p> <p><span class="bold"><strong>Requirement:</strong></span> the <code class="computeroutput">value_compare</code> object of both heaps must match. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id438319-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id671079-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Returns:</strong></span> Element-wise comparison of heap data structures</p> <p><span class="bold"><strong>Requirement:</strong></span> the <code class="computeroutput">value_compare</code> object of both heaps must match. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id438362-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id682712-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p>Equivalent comparison <span class="bold"><strong>Returns:</strong></span> True, if both heap data structures are equivalent. </p> <p><span class="bold"><strong>Requirement:</strong></span> the <code class="computeroutput">value_compare</code> object of both heaps must match. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id364284-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> HeapType<span class="special">></span> <span class="keyword">bool</span> <a name="id477305-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">HeapType</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p>Equivalent comparison <span class="bold"><strong>Returns:</strong></span> True, if both heap data structures are not equivalent. </p> <p><span class="bold"><strong>Requirement:</strong></span> the <code class="computeroutput">value_compare</code> object of both heaps must match. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id749973-bb"></a><span class="identifier">update</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">,</span> <span class="identifier">const_reference</span> v<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id381623-bb"></a><span class="identifier">update</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">,</span> <span class="identifier">const_reference</span> v<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Assigns <code class="computeroutput">v</code> to the element handled by <code class="computeroutput">handle</code> & updates the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic.</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id750023-bb"></a><span class="identifier">update</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id709854-bb"></a><span class="identifier">update</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Updates the heap after the element handled by <code class="computeroutput">handle</code> has been changed.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic.</p> <p><span class="bold"><strong>Note:</strong></span> If this is not called, after a handle has been updated, the behavior of the data structure is undefined!</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id724945-bb"></a><span class="identifier">increase</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">,</span> <span class="identifier">const_reference</span> v<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id654618-bb"></a><span class="identifier">increase</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">,</span> <span class="identifier">const_reference</span> v<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Assigns <code class="computeroutput">v</code> to the element handled by <code class="computeroutput">handle</code> & updates the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic.</p> <p><span class="bold"><strong>Note:</strong></span> The new value is expected to be greater than the current one</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id727171-bb"></a><span class="identifier">increase</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id436185-bb"></a><span class="identifier">increase</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Updates the heap after the element handled by <code class="computeroutput">handle</code> has been changed.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic.</p> <p><span class="bold"><strong>Note:</strong></span> The new value is expected to be greater than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined!</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id473703-bb"></a><span class="identifier">decrease</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">,</span> <span class="identifier">const_reference</span> v<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id472814-bb"></a><span class="identifier">decrease</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">,</span> <span class="identifier">const_reference</span> v<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Assigns <code class="computeroutput">v</code> to the element handled by <code class="computeroutput">handle</code> & updates the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic.</p> <p><span class="bold"><strong>Note:</strong></span> The new value is expected to be less than the current one</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id429124-bb"></a><span class="identifier">decrease</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id751639-bb"></a><span class="identifier">decrease</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Updates the heap after the element handled by <code class="computeroutput">handle</code> has been changed.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic.</p> <p><span class="bold"><strong>Note:</strong></span> The new value is expected to be less than the current one. If this is not called, after a handle has been updated, the behavior of the data structure is undefined!</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id664987-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id671933-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">handle_type</span> handle<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Removes the element handled by <code class="computeroutput">handle</code> from the <code class="computeroutput"><a class="link" href="priority_queue.html" title="Class template priority_queue">priority_queue</a></code>.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic.</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id379162-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id701864-bb"></a><span class="identifier">pop</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Removes the top element from the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Logarithmic (amortized). Linear (worst case). </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id446360-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id380591-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="d_ary_heap.html" title="Class template d_ary_heap">d_ary_heap</a> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Swaps two priority queues.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">iterator</span> <a name="id345978-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id755890-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns an iterator to the first element contained in the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">iterator</span> <a name="id674789-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">iterator</span> <a name="id440894-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> +<p><span class="bold"><strong>Effects:</strong></span> Returns an iterator to the first element contained in the priority queue.</p> +<p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> +<p> + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">iterator</span> <a name="id440926-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span><span class="special">;</span></pre> +<p><span class="bold"><strong>Effects:</strong></span> Returns an iterator to the end of the priority queue.</p> +<p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> +<p> + </p> +</li> +<li class="listitem"> +<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="id678430-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns an iterator to the end of the priority queue.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">ordered_iterator</span> <a name="id738876-bb"></a><span class="identifier">ordered_begin</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">ordered_iterator</span> <a name="id696181-bb"></a><span class="identifier">ordered_begin</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns an ordered iterator to the first element contained in the priority queue.</p> <p><span class="bold"><strong>Note:</strong></span> Ordered iterators traverse the priority queue in heap order. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">ordered_iterator</span> <a name="id651300-bb"></a><span class="identifier">ordered_end</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">ordered_iterator</span> <a name="id386408-bb"></a><span class="identifier">ordered_end</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Returns an ordered iterator to the first element contained in the priority queue.</p> <p><span class="bold"><strong>Note:</strong></span> Ordered iterators traverse the priority queue in heap order. </p> <p> </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="keyword">void</span> <a name="id651333-bb"></a><span class="identifier">reserve</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">void</span> <a name="id707254-bb"></a><span class="identifier">reserve</span><span class="special">(</span><span class="identifier">size_type</span> element_count<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Reserves memory for element_count elements</p> <p><span class="bold"><strong>Complexity:</strong></span> Linear.</p> <p><span class="bold"><strong>Node:</strong></span> Invalidates iterators </p> @@ -372,7 +388,7 @@ </p> </li> <li class="listitem"> -<pre class="literallayout"><span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id651372-bb"></a><span class="identifier">value_comp</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="identifier">value_compare</span> <span class="keyword">const</span> <span class="special">&</span> <a name="id656962-bb"></a><span class="identifier">value_comp</span><span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effect:</strong></span> Returns the value_compare object used by the priority queue </p> <p> </p> @@ -380,10 +396,10 @@ </ol></div> </div> <div class="refsect2"> -<a name="id1593119"></a><h3> -<a name="id665669-bb"></a><code class="computeroutput">d_ary_heap</code> public static functions</h3> +<a name="id1609028"></a><h3> +<a name="id653425-bb"></a><code class="computeroutput">d_ary_heap</code> public static functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> -<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">handle_type</span> <a name="id665673-bb"></a><span class="identifier">s_handle_from_iterator</span><span class="special">(</span><span class="identifier">iterator</span> <span class="keyword">const</span> <span class="special">&</span> it<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">handle_type</span> <a name="id653429-bb"></a><span class="identifier">s_handle_from_iterator</span><span class="special">(</span><span class="identifier">iterator</span> <span class="keyword">const</span> <span class="special">&</span> it<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects:</strong></span> Casts an iterator to a node handle.</p> <p><span class="bold"><strong>Complexity:</strong></span> Constant.</p> <p><span class="bold"><strong>Requirement:</strong></span> data structure must be configured as mutable </p> |