|
NVBIO
|
#include <algorithm>#include <iterator>Go to the source code of this file.
Namespaces | |
| boost | |
| boost::heap | |
| boost::heap::interval_heap_internal | |
Functions | |
| template<typename Iterator , typename Compare > | |
| void | boost::heap::make_interval_heap (Iterator first, Iterator last, Compare compare) |
| Moves elements in [first,last) to form an interval heap. More... | |
| template<typename Iterator , typename Compare = std::less<typename std::iterator_traits<Iterator>::value_type>> | |
| void | boost::heap::push_interval_heap (Iterator first, Iterator last, Compare compare) |
| Expands the interval heap to include the element at last-1. More... | |
| template<typename Iterator , typename Compare > | |
| void | boost::heap::update_interval_heap (Iterator first, Iterator last, typename std::iterator_traits< Iterator >::difference_type index, Compare compare) |
| Restores the interval-heap property if one element violates it. More... | |
| template<typename Iterator , typename Compare > | |
| void | boost::heap::sort_interval_heap (Iterator first, Iterator last, Compare compare) |
| Sorts an interval heap in ascending order. More... | |
| template<typename Iterator , typename Compare > | |
| Iterator | boost::heap::is_interval_heap_until (Iterator first, Iterator last, Compare compare) |
| Finds the largest subrange that qualifies as an interval heap. More... | |
| template<typename Iterator , typename Compare > | |
| bool | boost::heap::is_interval_heap (Iterator first, Iterator last, Compare compare) |
| Checks whether the range is an interval heap. More... | |
| template<typename Iterator , typename Compare > | |
| void | boost::heap::interval_heap_internal::sift_leaf (Iterator first, Iterator last, typename std::iterator_traits< Iterator >::difference_type index, Compare compare) |
| Restores the interval-heap property if one leaf element violates it. More... | |
| template<bool left_bound, typename Iterator , typename Offset , typename Compare > | |
| void | boost::heap::interval_heap_internal::sift_up (Iterator first, Offset index, Compare compare, Offset limit_child) |
| Moves an element up the interval heap. More... | |
| template<typename Iterator , typename Offset , typename Compare > | |
| void | boost::heap::interval_heap_internal::sift_leaf_max (Iterator first, Iterator last, Offset index, Compare compare, Offset limit_child) |
| Moves an element between min/max bounds, and up the interval heap. More... | |
| template<typename Iterator , typename Offset , typename Compare > | |
| void | boost::heap::interval_heap_internal::sift_leaf_min (Iterator first, Iterator last, Offset index, Compare compare, Offset limit_child) |
| Moves an element between min/max bounds, and up the interval heap. More... | |
| template<bool left_bound, typename Iterator , typename Offset , typename Compare > | |
| void | boost::heap::interval_heap_internal::sift_down (Iterator first, Iterator last, Offset index, Compare compare, Offset limit_child) |
| Restores the interval-heap property if one element violates it. More... | |
| template<typename Iterator , typename Compare > | |
| void | boost::heap::pop_interval_heap_min (Iterator first, Iterator last, Compare compare) |
| Moves a minimal element to the back of the range for popping. More... | |
| template<typename Iterator , typename Compare > | |
| void | boost::heap::pop_interval_heap_max (Iterator first, Iterator last, Compare compare) |
| Moves a maximal element to the back of the range for popping. More... | |
| template<typename Iterator , typename Compare > | |
| void | boost::heap::pop_interval_heap (Iterator first, Iterator last, typename std::iterator_traits< Iterator >::difference_type index, Compare compare) |
| Moves an element to the back of the range for popping. More... | |
interval_heap.hpp provides functions for creating interval heaps by rearranging a range of elements. A valid interval heap has the following properties: Given elements A and B, A is less than B iff compare(A,B), where compare is a binary functor describing a strict weak ordering. Left and right bounds are those with even and odd indices, respectively. A right bound is never less than its corresponding left bound. A left bound is never less than the left bound of its parent. A right bound is never less than the right bounds of its children.
Definition in file interval_heap.hpp.
1.8.4