<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Issue 2982: Making size_type consistent in associative container deduction guides</title>
<meta property="og:title" content="Issue 2982: Making size_type consistent in associative container deduction guides">
<meta property="og:description" content="C++ library issue. Status: C++20">
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue2982.html">
<meta property="og:type" content="website">
<meta property="og:image" content="http://cplusplus.github.io/LWG/images/cpp_logo.png">
<meta property="og:image:alt" content="C++ logo">
<style>
  p {text-align:justify}
  li {text-align:justify}
  pre code.backtick::before { content: "`" }
  pre code.backtick::after { content: "`" }
  blockquote.note
  {
    background-color:#E0E0E0;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 1px;
    padding-bottom: 1px;
  }
  ins {background-color:#A0FFA0}
  del {background-color:#FFA0A0}
  table.issues-index { border: 1px solid; border-collapse: collapse; }
  table.issues-index th { text-align: center; padding: 4px; border: 1px solid; }
  table.issues-index td { padding: 4px; border: 1px solid; }
  table.issues-index td:nth-child(1) { text-align: right; }
  table.issues-index td:nth-child(2) { text-align: left; }
  table.issues-index td:nth-child(3) { text-align: left; }
  table.issues-index td:nth-child(4) { text-align: left; }
  table.issues-index td:nth-child(5) { text-align: center; }
  table.issues-index td:nth-child(6) { text-align: center; }
  table.issues-index td:nth-child(7) { text-align: left; }
  table.issues-index td:nth-child(5) span.no-pr { color: red; }
  @media (prefers-color-scheme: dark) {
     html {
        color: #ddd;
        background-color: black;
     }
     ins {
        background-color: #225522
     }
     del {
        background-color: #662222
     }
     a {
        color: #6af
     }
     a:visited {
        color: #6af
     }
     blockquote.note
     {
        background-color: rgba(255, 255, 255, .10)
     }
  }
</style>
</head>
<body>
<hr>
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#C++20">C++20</a> status.</em></p>
<h3 id="2982"><a href="lwg-defects.html#2982">2982</a>. Making <code>size_type</code> consistent in associative container deduction guides</h3>
<p><b>Section:</b> 23.5.6.1 <a href="https://wg21.link/unord.set.overview">[unord.set.overview]</a>, 23.5.7.1 <a href="https://wg21.link/unord.multiset.overview">[unord.multiset.overview]</a> <b>Status:</b> <a href="lwg-active.html#C++20">C++20</a>
 <b>Submitter:</b> Mike Spertus <b>Opened:</b> 2017-06-16 <b>Last modified:</b> 2021-02-25</p>
<p><b>Priority: </b>2
</p>
<p><b>View all issues with</b> <a href="lwg-status.html#C++20">C++20</a> status.</p>
<p><b>Discussion:</b></p>
<p>
Due to an incompletely implemented change in Kona, some of the size_type deduction guides say something like:
</p>
<blockquote><p>
A <code>size_type</code> parameter type in an <code>unordered_set</code> deduction guide refers to the <code>size_type</code> 
member type of the primary <code>unordered_set</code> template
</p></blockquote>
<p>
while others say
</p>
<blockquote><p>
A <code>size_type</code> parameter type in an <code>unordered_map</code> deduction guide refers to the <code>size_type</code> 
member type of the type deduced by the deduction guide.
</p></blockquote>
<p>
Clearly they should both be the same. My recollection is that the intent of the committee was to change them all 
to be the latter. Note, however, that this issue may be mooted if the suggestions in the upcoming 
<a href="https://wg21.link/p0433r3">P0433R3</a> paper are adopted as a DR in Toronto.
</p>

<p><i>[2017-07 Toronto Monday issue prioritization]</i></p>

<p>Priority 2; Mike is preparing an updated paper &mdash; currently named <a href="https://wg21.link/p0433r3">P0433R3</a>.</p>

<p><i>[2016-07, Toronto Saturday afternoon issues processing]</i></p>

<p>Status to Ready; Marshall to check with Mike about his paper</p>


<p id="res-2982"><b>Proposed resolution:</b></p>
<p>
This wording is relative to <a href="https://wg21.link/n4659">N4659</a>.
</p>

<ol>
<li><p>Edit 23.5.6.1 <a href="https://wg21.link/unord.set.overview">[unord.set.overview]</a> as indicated:</p>

<blockquote>
<p>
-4- A <code>size_type</code> parameter type in an <code>unordered_set</code> deduction guide refers to the <code>size_type</code> 
member type of the <del>primary <code>unordered_set</code> template</del><ins>type deduced by the deduction guide</ins>.
</p>
</blockquote>
</li>

<li><p>Edit 23.5.7.1 <a href="https://wg21.link/unord.multiset.overview">[unord.multiset.overview]</a> as indicated:</p>

<blockquote>
<p>
-4- A <code>size_type</code> parameter type in an <code>unordered_multiset</code> deduction guide refers to the <code>size_type</code> 
member type of the <del>primary <code>unordered_multiset</code> template</del><ins>type deduced by the deduction guide</ins>.
</p>
</blockquote>
</li>

</ol>





</body>
</html>
