Date
2017-07-12.01:30:31
Message id
9343

Content

Proposed resolution:

This wording is relative to N4659.

  1. In [unord.req], edit Table 91 "Unordered associative container requirements" as indicated:

    Table 91 — Unordered associative container requirements (in addition to container)
    Expression Return type Assertion/note
    pre-/post-condition
    Complexity
    a.merge(a2) void Requires: a.get_allocator() == a2.get_allocator().
    Attempts to extract each element in a2 and insert it into a using the hash function and key equality predicate of a. In containers with unique keys, if there is an element in a with key equivalent to the key of an element from a2, then that element is not extracted from a2.
    Postconditions: Pointers and references to the transferred elements of a2 refer to those same elements but as members of a. Iterators referring to the transferred elements and all iterators referring to a will be invalidated, but iterators to elements remaining in a2 will remain valid.
    Throws: Nothing unless the hash function or key equality predicate throws.
    Average case 𝒪(N), where N is a2.size().
    Worst case 𝒪(N*a.size()+N).