<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Issue 2885: The relational operators of optional and variant completely reflect the semantics of the element 
types &mdash; this is inconsistent with other types in the library</title>
<meta property="og:title" content="Issue 2885: The relational operators of optional and variant completely reflect the semantics of the element 
types &mdash; this is inconsistent with other types in the library">
<meta property="og:description" content="C++ library issue. Status: LEWG">
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue2885.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#LEWG">LEWG</a> status.</em></p>
<h3 id="2885"><a href="lwg-active.html#2885">2885</a>. The relational operators of <code>optional</code> and <code>variant</code> completely reflect the semantics of the element 
types &mdash; this is inconsistent with other types in the library</h3>
<p><b>Section:</b> 23 <a href="https://wg21.link/containers">[containers]</a>, 22 <a href="https://wg21.link/utilities">[utilities]</a> <b>Status:</b> <a href="lwg-active.html#LEWG">LEWG</a>
 <b>Submitter:</b> Finland <b>Opened:</b> 2017-02-03 <b>Last modified:</b> 2017-07-15</p>
<p><b>Priority: </b>Not Prioritized
</p>
<p><b>View other</b> <a href="lwg-index-open.html#containers">active issues</a> in [containers].</p>
<p><b>View all other</b> <a href="lwg-index.html#containers">issues</a> in [containers].</p>
<p><b>View all issues with</b> <a href="lwg-status.html#LEWG">LEWG</a> status.</p>
<p><b>Discussion:</b></p>
<b>Addresses FI 17</b>

<p>The relational operators of optional and variant completely reflect the semantics of the element types; this is inconsistent 
with other types in the library, like <code>pair</code>, <code>tuple</code> and containers. If we believe it's important that we don't 
synthesize relational operators for wrapper types, we should believe it's important for other types as well. Otherwise comparing 
containers of floating-point types and tuples/pairs etc. of floating point types will give incorrect answers.</p>
<p>Proposed change: Make the relational operators of containers and utility components reflect the semantics of the operators for the underlying element types.</p>

<p><i>[2017-07 Toronto Thurs Issue Prioritization]</i></p>

<p>Move to LEWG</p>


<p id="res-2885"><b>Proposed resolution:</b></p>
<p>
</p>





</body>
</html>
