protocol
heapp
¶
Heap protocol.
Author: Richard O’Keefe; adapted to Logtalk by Paulo Moura and Victor Lagerkvist.
Version: 1.01
Date: 2010/11/13
Compilation flags:
static
(no dependencies on other entities)
Public interface¶
insert/4
¶
Inserts the new Key-Value pair into a heap, returning the updated heap.
Compilation flags:
static
Template:
insert(Key,Value,Heap,NewHeap)
Mode and number of proofs:
insert(+key,+value,+heap,-heap)
- one
insert_all/3
¶
Inserts a list of Key-Value pairs into a heap, returning the updated heap.
Compilation flags:
static
Template:
insert_all(List,Heap,NewHeap)
Mode and number of proofs:
insert_all(@list(pairs),+heap,-heap)
- one
delete/4
¶
Deletes and returns the top Key-Value pair in OldHeap and the resulting NewHeap.
Compilation flags:
static
Template:
delete(Heap,Key,Value,NewHeap)
Mode and number of proofs:
delete(+heap,?key,?value,-heap)
- zero_or_one
merge/3
¶
Merges two heaps.
Compilation flags:
static
Template:
merge(Heap1,Heap2,NewHeap)
Mode and number of proofs:
merge(+heap,+heap,-heap)
- one
empty/1
¶
True if the heap is empty.
Compilation flags:
static
Template:
empty(Heap)
Mode and number of proofs:
empty(@heap)
- zero_or_one
size/2
¶
Returns the number of heap elements.
Compilation flags:
static
Template:
size(Heap,Size)
Mode and number of proofs:
size(+heap,?integer)
- zero_or_one
as_list/2
¶
Returns the current set of Key-Value pairs in the Heap as a List, sorted into ascending order of Keys.
Compilation flags:
static
Template:
as_list(Heap,List)
Mode and number of proofs:
as_list(+heap,-list)
- one
as_heap/2
¶
Constructs a Heap from a list of Key-Value pairs.
Compilation flags:
static
Template:
as_heap(List,Heap)
Mode and number of proofs:
as_heap(+list,-heap)
- one
top/3
¶
Returns the top Key-Value pair in Heap. Fails if the heap is empty.
Compilation flags:
static
Template:
top(Heap,Key,Value)
Mode and number of proofs:
top(+heap,?key,?value)
- zero_or_one
top_next/5
¶
Returns the top pair, Key1-Value1, and the next pair, Key2-Value2, in Heap. Fails if the heap does not have at least two elements.
Compilation flags:
static
Template:
top_next(Heap,Key1,Value1,Key2,Value2)
Mode and number of proofs:
top_next(+heap,?key,?value,?key,?value)
- zero_or_one
Protected interface¶
(none)
Private predicates¶
(none)
Operators¶
(none)
Remarks¶
(none)