193. Heap operations description incorrect

Section: 28.7.7 [alg.heap.operations] Status: TC1 Submitter: Markus Mauhart Opened: 1999-09-24 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [alg.heap.operations].

View all issues with TC1 status.

Duplicate of: 216

Discussion:

25.3.6 [lib.alg.heap.operations] states two key properties of a heap [a,b), the first of them is

    `"(1) *a is the largest element"

I think this is incorrect and should be changed to the wording in the proposed resolution.

Actually there are two independent changes:

A-"part of largest equivalence class" instead of "largest", cause 25.3 [lib.alg.sorting] asserts "strict weak ordering" for all its sub clauses.

B-Take 'an oldest' from that equivalence class, otherwise the heap functions could not be used for a priority queue as explained in 23.2.3.2.2 [lib.priqueue.members] (where I assume that a "priority queue" respects priority AND time).

Proposed resolution:

Change 28.7.7 [alg.heap.operations] property (1) from:

(1) *a is the largest element

to:

(1) There is no element greater than *a