#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/MutablePriorityQueue.hpp>
Public Types | |
| using | address = SkipHeapAddressing<blocking> |
Public Member Functions | |
| MutableSkipHeapPriorityQueue (IndexSetter &&index_setter, LessPredicate &&less_predicate) | |
| ~MutableSkipHeapPriorityQueue () | |
| void | clear () |
| void | reserve (size_t cnt) |
| void | push (const T &item) |
| void | push (T &&item) |
| void | pop () |
| T & | top () |
| void | remove (size_t idx) |
| void | update (size_t idx) |
| size_t | size () const noexcept |
| bool | empty () const |
| T & | operator[] (std::size_t idx) noexcept |
| const T & | operator[] (std::size_t idx) const noexcept |
Protected Member Functions | |
| void | update_heap_up (size_t top, size_t bottom) |
| void | update_heap_down (size_t top, size_t bottom) |
| void | pop_back () noexcept |
Private Attributes | |
| std::vector< T > | m_heap |
| IndexSetter | m_index_setter |
| LessPredicate | m_less_predicate |
| using MutableSkipHeapPriorityQueue< T, IndexSetter, LessPredicate, blocking, ResetIndexWhenRemoved >::address = SkipHeapAddressing<blocking> |
|
inline |
References m_index_setter, and m_less_predicate.
|
inline |
|
inline |
References SkipHeapAddressing< blocking >::is_padding(), m_heap, and m_index_setter.
Referenced by ~MutableSkipHeapPriorityQueue().
|
inline |
|
inlinenoexcept |
References SkipHeapAddressing< blocking >::is_padding(), and m_heap.
|
inlinenoexcept |
References SkipHeapAddressing< blocking >::is_padding(), and m_heap.
|
inline |
References m_heap, m_index_setter, pop_back(), and update_heap_down().
|
inlineprotectednoexcept |
|
inline |
References SkipHeapAddressing< blocking >::is_padding(), m_heap, m_index_setter, and update_heap_up().
Referenced by update().
|
inline |
References SkipHeapAddressing< blocking >::is_padding(), m_heap, m_index_setter, and update_heap_up().
|
inline |
References SkipHeapAddressing< blocking >::is_padding(), m_heap, m_index_setter, pop_back(), update_heap_down(), and update_heap_up().
Referenced by update().
|
inline |
References SkipHeapAddressing< blocking >::block_size, and m_heap.
|
inlinenoexcept |
References SkipHeapAddressing< blocking >::block_size, and m_heap.
|
inline |
References m_heap.
Referenced by update_heap_down(), and update_heap_up().
|
inline |
References SkipHeapAddressing< blocking >::is_padding(), m_heap, push(), and remove().
|
inlineprotected |
References SkipHeapAddressing< blocking >::block_size, SkipHeapAddressing< blocking >::child_of(), SkipHeapAddressing< blocking >::is_block_leaf(), SkipHeapAddressing< blocking >::is_padding(), m_heap, m_index_setter, m_less_predicate, and top().
Referenced by pop(), and remove().
|
inlineprotected |
References SkipHeapAddressing< blocking >::is_padding(), m_heap, m_index_setter, m_less_predicate, SkipHeapAddressing< blocking >::parent_of(), and top().
Referenced by push(), push(), and remove().
|
private |
Referenced by clear(), empty(), operator[](), operator[](), pop(), pop_back(), push(), push(), remove(), reserve(), size(), top(), update(), update_heap_down(), and update_heap_up().
|
private |
Referenced by MutableSkipHeapPriorityQueue(), clear(), pop(), push(), push(), remove(), update_heap_down(), and update_heap_up().
|
private |
Referenced by MutableSkipHeapPriorityQueue(), update_heap_down(), and update_heap_up().