NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
nvbio::heap::interval_heap_internal Namespace Reference

Functions

template<typename Iterator , typename Compare >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
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 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
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 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
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 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
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 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
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<bool left_bound, typename Iterator , typename Offset , typename Compare >
void sift_up (Iterator first, Offset origin, Compare compare, Offset limit_child)
 Moves an element up the interval heap. More...
 
template<typename Iterator , typename Offset , typename Compare >
void 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 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 sift_down (Iterator first, Iterator last, Offset origin, Compare compare, Offset limit_child)
 Restores the interval-heap property if one element violates it. More...
 
template<typename Iterator , typename Compare >
void 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...
 

Function Documentation

template<bool left_bound, typename Iterator , typename Offset , typename Compare >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::heap::interval_heap_internal::sift_down ( Iterator  first,
Iterator  last,
Offset  origin,
Compare  compare,
Offset  limit_child 
)

Restores the interval-heap property if one element violates it.

Remarks
Exception safety: As strong as sift_up.

Definition at line 463 of file interval_heap.hpp.

template<bool left_bound, typename Iterator , typename Offset , typename Compare >
void nvbio::heap::interval_heap_internal::sift_down ( Iterator  first,
Iterator  last,
Offset  origin,
Compare  compare,
Offset  limit_child 
)

Restores the interval-heap property if one element violates it.

Remarks
Exception safety: As strong as sift_up.

Definition at line 459 of file interval_heap.h.

template<typename Iterator , typename Compare >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::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.

Remarks
Exception safety: As strong as sift_up.

Definition at line 564 of file interval_heap.hpp.

template<typename Iterator , typename Compare >
void nvbio::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.

Remarks
Exception safety: As strong as sift_up.

Definition at line 520 of file interval_heap.h.

template<typename Iterator , typename Offset , typename Compare >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::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.

Remarks
Exception safety: As strong as sift_up.

Definition at line 407 of file interval_heap.hpp.

template<typename Iterator , typename Offset , typename Compare >
void nvbio::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.

Remarks
Exception safety: As strong as sift_up.

Definition at line 413 of file interval_heap.h.

template<typename Iterator , typename Offset , typename Compare >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::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.

Remarks
Exception safety: As strong as sift_up.

Definition at line 432 of file interval_heap.hpp.

template<typename Iterator , typename Offset , typename Compare >
void nvbio::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.

Remarks
Exception safety: As strong as sift_up.

Definition at line 433 of file interval_heap.h.

template<bool left_bound, typename Iterator , typename Offset , typename Compare >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::heap::interval_heap_internal::sift_up ( Iterator  first,
Offset  origin,
Compare  compare,
Offset  limit_child 
)

Moves an element up the interval heap.

Remarks
Exception safety: Strong if move/swap doesn't throw.

Definition at line 359 of file interval_heap.hpp.

template<bool left_bound, typename Iterator , typename Offset , typename Compare >
void nvbio::heap::interval_heap_internal::sift_up ( Iterator  first,
Offset  origin,
Compare  compare,
Offset  limit_child 
)

Moves an element up the interval heap.

Remarks
Exception safety: Strong if move/swap doesn't throw.

Definition at line 390 of file interval_heap.h.