protocol

heapp

Heap protocol. Key-value pairs are represented as Key-Value.

Availability:
logtalk_load(heaps(loader))
Author: Richard O’Keefe; adapted to Logtalk by Paulo Moura and Victor Lagerkvist.
Version: 1:0:1
Date: 2010-11-13
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

insert/4

Inserts the new 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 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 pair in a heap returning the updated heap.

Compilation flags:
static
Template:
delete(Heap,TopKey,TopValue,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 pairs in the heap as a list, sorted into ascending order of the 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 pairs.

Compilation flags:
static
Template:
as_heap(List,Heap)
Mode and number of proofs:
as_heap(+list,-heap) - one

top/3

Returns the top pair in the heap. Fails if the heap is empty.

Compilation flags:
static
Template:
top(Heap,TopKey,TopValue)
Mode and number of proofs:
top(+heap,?key,?value) - zero_or_one

top_next/5

Returns the top pair and the next pair in the heap. Fails if the heap does not have at least two elements.

Compilation flags:
static
Template:
top_next(Heap,TopKey,TopValue,NextKey,NextValue)
Mode and number of proofs:
top_next(+heap,?key,?value,?key,?value) - zero_or_one

Protected predicates

(none)

Private predicates

(none)

Operators

(none)

See also

heap(Order)