Date
2014-02-15.00:00:00
Message id
6676

Content

[ 2014-02-13, Issaquah, Jonathan revises wording ]

Previous resolution from Daniel [SUPERSEDED]:

This wording is relative to N3376.

The more general criterion for performing the suggested transformation was: Any type with an initializer-list constructor that also has an explicit default constructor.

  1. Change class template basic_string synopsis, [basic.string] p5 as indicated:

    basic_string() : basic_string(Allocator()) {}
    explicit basic_string(const Allocator& a = Allocator());
    
  2. Change [string.cons] before p1 as indicated:

    explicit basic_string(const Allocator& a = Allocator());
    
  3. Change class template deque synopsis, [deque.overview] p2 as indicated:

    deque() : deque(Allocator()) {}
    explicit deque(const Allocator& = Allocator());
    
  4. Change [deque.cons] before p1 as indicated:

    explicit deque(const Allocator& = Allocator());
    
  5. Change class template forward_list synopsis, [forwardlist.overview] p3 as indicated:

    forward_list() : forward_list(Allocator()) {}
    explicit forward_list(const Allocator& = Allocator());
    
  6. Change [forwardlist.cons] before p1 as indicated:

    explicit forward_list(const Allocator& = Allocator());
    
  7. Change class template list synopsis, [list.overview] p2 as indicated:

    list() : list(Allocator()) {}
    explicit list(const Allocator& = Allocator());
    
  8. Change [list.cons] before p1 as indicated:

    explicit list(const Allocator& = Allocator());
    
  9. Change class template vector synopsis, [vector.overview] p2 as indicated:

    vector() : vector(Allocator()) {}
    explicit vector(const Allocator& = Allocator());
    
  10. Change [vector.cons] before p1 as indicated:

    explicit vector(const Allocator& = Allocator());
    
  11. Change class template specialization vector<bool> synopsis, [vector.bool] p1 as indicated:

    vector() : vector(Allocator()) {}
    explicit vector(const Allocator& = Allocator());
    
  12. Change class template map synopsis, [map.overview] p2 as indicated:

    map() : map(Compare()) {}
    explicit map(const Compare& comp = Compare(),
                 const Allocator& = Allocator());
    
  13. Change [map.cons] before p1 as indicated:

    explicit map(const Compare& comp = Compare(),
                 const Allocator& = Allocator());
    
  14. Change class template multimap synopsis, [multimap.overview] p2 as indicated:

    multimap() : multimap(Compare()) {}
    explicit multimap(const Compare& comp = Compare(),
                      const Allocator& = Allocator());
    
  15. Change [multimap.cons] before p1 as indicated:

    explicit multimap(const Compare& comp = Compare(),
                      const Allocator& = Allocator());
    
  16. Change class template set synopsis, [set.overview] p2 as indicated:

    set() : set(Compare()) {}
    explicit set(const Compare& comp = Compare(),
                 const Allocator& = Allocator());
    
  17. Change [set.cons] before p1 as indicated:

    explicit set(const Compare& comp = Compare(),
                 const Allocator& = Allocator());
    
  18. Change class template multiset synopsis, [multiset.overview] p2 as indicated:

    multiset() : multiset(Compare()) {}
    explicit multiset(const Compare& comp = Compare(),
                      const Allocator& = Allocator());
    
  19. Change [multiset.cons] before p1 as indicated:

    explicit multiset(const Compare& comp = Compare(),
                      const Allocator& = Allocator());
    
  20. Change class template unordered_map synopsis, [unord.map.overview] p3 as indicated:

    unordered_map() : unordered_map(see below) {}
    explicit unordered_map(size_type n = see below,
                           const hasher& hf = hasher(),
                           const key_equal& eql = key_equal(),
                           const allocator_type& a = allocator_type());
    
  21. Change [unord.map.cnstr] before p1 as indicated:

    unordered_map() : unordered_map(see below) {}
    explicit unordered_map(size_type n = see below,
                           const hasher& hf = hasher(),
                           const key_equal& eql = key_equal(),
                           const allocator_type& a = allocator_type());
    
  22. Change class template unordered_multimap synopsis, [unord.multimap.overview] p3 as indicated:

    unordered_multimap() : unordered_multimap(see below) {}
    explicit unordered_multimap(size_type n = see below,
                                const hasher& hf = hasher(),
                                const key_equal& eql = key_equal(),
                                const allocator_type& a = allocator_type());
    
  23. Change [unord.multimap.cnstr] before p1 as indicated:

    unordered_multimap() : unordered_multimap(see below) {}
    explicit unordered_multimap(size_type n = see below,
                                const hasher& hf = hasher(),
                                const key_equal& eql = key_equal(),
                                const allocator_type& a = allocator_type());
    
  24. Change class template unordered_set synopsis, [unord.set.overview] p3 as indicated:

    unordered_set() : unordered_set(see below) {}
    explicit unordered_set(size_type n = see below,
                           const hasher& hf = hasher(),
                           const key_equal& eql = key_equal(),
                           const allocator_type& a = allocator_type());
    
  25. Change [unord.set.cnstr] before p1 as indicated:

    unordered_set() : unordered_set(see below) {}
    explicit unordered_set(size_type n = see below,
                           const hasher& hf = hasher(),
                           const key_equal& eql = key_equal(),
                           const allocator_type& a = allocator_type());
    
  26. Change class template unordered_multiset synopsis, [unord.multiset.overview] p3 as indicated:

    unordered_multiset() : unordered_multiset(see below) {}
    explicit unordered_multiset(size_type n = see below,
                                const hasher& hf = hasher(),
                                const key_equal& eql = key_equal(),
                                const allocator_type& a = allocator_type());
    
  27. Change [unord.multiset.cnstr] before p1 as indicated:

    unordered_multiset() : unordered_multiset(see below) {}
    explicit unordered_multiset(size_type n = see below,
                                const hasher& hf = hasher(),
                                const key_equal& eql = key_equal(),
                                const allocator_type& a = allocator_type());