Commit b748cc16 authored by Michael Müller's avatar Michael Müller Committed by Hero Bird

Implement Heap storage primitive (#206)

* Fix typos

* Fix linter errors in cmd cli

The CI complains.

* Add Heap collection

* Apply CI style recommendations

* Remove `HeapType` param from constructor

Instead of passing `HeapType::Min`/`HeapType::Max`
to the constructor one should instead explictly
implement `Ord` on the generic type which is
stored in the heap.

This is the way the Rust API works as well.

* Apply CI style recommendations

* Improve iterator test/docs

* Improve doc comments

* Fix typo

* Reduce storage fetches via wrapper around SyncChunk

* Rename Heap to BinaryHeap

* Make `AccessWrapper` independent

* Simplify ternary heap to binary heap

* Rename AccessWrapper to DuplexSyncChunk

* Remove superfluous Flush bound

* Simplify code by removing BinaryHeapHeader

* Removed unnecessary Copy + Clone bounds

* Satisfy rustfmt

* Add clarifying comment for testing struct

* Replace expected arg with predicate condition

* Substitute mem::replace with Option API functions

* Improve grouping in DuplexSyncChunk

* Improve comment

* Satisfy rustfmt

* Derive Ord/PartialOrd implementation

* Remove unnecessary trait bounds

* Use compound trait bound

* Fix typo

* Add metadata for DuplexSyncChunk

* Satisfy rustfmt
parent d5863ac4
Pipeline #55545 failed with stages
in 20 seconds