Date
2022-04-24.17:52:14
Message id
12430

Content

Proposed resolution:

This wording is relative to N4910.

  1. Modify [associative.reqmts.general] as indicated:

    a.extract(q)
    

    -108- Result: node_type

    -109- Effects: Removes the element pointed to by q.

    -110- Returns: A node_type owning that element.

    -111- Complexity: Amortized constant.

    a.extract(r)
    

    -?- Result: node_type

    -?- Effects: Removes the element pointed to by r.

    -?- Returns: A node_type owning that element.

    -?- Complexity: Amortized constant.

  2. Modify [unord.req.general] as indicated:

    a.extract(q)
    

    -141- Result: node_type

    -142- Effects: Removes the element pointed to by q.

    -143- Returns: A node_type owning that element.

    -144- Complexity: Average case 𝒪(1), worst case 𝒪(a.size()).

    a.extract(r)
    

    -?- Result: node_type

    -?- Effects: Removes the element pointed to by r.

    -?- Returns: A node_type owning that element.

    -?- Complexity: Average case 𝒪(1), worst case 𝒪(a.size()).

  3. Modify [map.overview], class template map synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]
    
  4. Modify [multimap.overview], class template multimap synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]
    
  5. Modify [set.overview], class template set synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]
    
  6. Modify [multiset.overview], class template multiset synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]
    
  7. Modify [unord.map.overview], class template unordered_map synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]
    
  8. Modify [unord.multimap.overview], class template unordered_multimap synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]
    
  9. Modify [unord.set.overview], class template unordered_set synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]
    
  10. Modify [unord.multiset.overview], class template unordered_multiset synopsis, as indicated:

    […]
    node_type extract(iterator position);
    node_type extract(const_iterator position);
    node_type extract(const key_type& x);
    […]