Title
[CD] Redundant sections for map and multimap members should be removed
Status
c++14
Section
[map] [multimap]
Submitter
Daniel Krügler

Created on 2013-09-25.00:00:00 last changed 122 months ago

Messages

Date: 2013-09-29.11:37:54

Proposed resolution:

This wording is relative to N3691.

  1. Change the header <map> synopsis, [map.overview] p2 as indicated:

    // 23.4.4.5, map operations:
    iterator find(const key_type& x);
    const_iterator find(const key_type& x) const;
    template <class K> iterator find(const K& x);
    template <class K> const_iterator find(const K& x) const;
    
  2. Delete the complete sub-clause [map.ops]:

    23.4.4.5 map operations [map.ops]

    iterator find(const key_type& x);
    const_iterator find(const key_type& x) const;
    iterator lower_bound(const key_type& x);
    const_iterator lower_bound(const key_type& x) const;
    iterator upper_bound(const key_type& x);
    const_iterator upper_bound(const key_type &x) const;
    pair<iterator, iterator>
      equal_range(const key_type &x);
    pair<const_iterator, const_iterator>
      equal_range(const key_type& x) const;
    

    -1- The find, lower_bound, upper_bound and equal_range member functions each have two versions, one const and the other non-const. In each case the behavior of the two functions is identical except that the const version returns a const_iterator and the non-const version an iterator (23.2.4).

  3. Delete the complete sub-clause [multimap.ops]:

    23.4.5.4 multimap operations [multimap.ops]

    iterator find(const key_type &x);
    const_iterator find(const key_type& x) const;
    
    iterator lower_bound(const key_type& x);
    const_iterator lower_bound(const key_type& x) const;
    
    pair<iterator, iterator>
      equal_range(const key_type &x);
    pair<const_iterator, const_iterator>
      equal_range(const key_type& x) const;
    

    -1- The find, lower_bound, upper_bound and equal_range member functions each have two versions, one const and one non-const. In each case the behavior of the two versions is identical except that the const version returns a const_iterator and the non-const version an iterator (23.2.4).

Date: 2013-09-29.00:00:00

[ 2013-09-29 Chicago ]

Accept for Working Paper

Date: 2013-09-25.00:00:00

[ 2013-09-25 Chicago ]

Daniel's wording is good, move to Immediate to resolve NB comment.

Date: 2013-09-25.00:00:00

[ 2013-09-25 Daniel provides resolution suggestion ]

Date: 2013-09-25.00:00:00

Addresses ES 17

Sections are redundant with general associative container requirements at [associative.reqmts], Table 102.

Suggested action:

Delete sections.

History
Date User Action Args
2014-02-20 13:20:35adminsetstatus: wp -> c++14
2013-09-29 11:37:54adminsetmessages: + msg6663
2013-09-29 11:37:54adminsetstatus: immediate -> wp
2013-09-26 18:26:05adminsetmessages: + msg6641
2013-09-26 18:26:05adminsetstatus: new -> immediate
2013-09-25 00:00:00admincreate
2013-09-24 23:13:57adminsetmessages: + msg6607
2013-09-24 23:13:57adminsetmessages: + msg6606