<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Issue 651: Missing preconditions for regex_token_iterator c'tors</title>
<meta property="og:title" content="Issue 651: Missing preconditions for regex_token_iterator c'tors">
<meta property="og:description" content="C++ library issue. Status: CD1">
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue651.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#CD1">CD1</a> status.</em></p>
<h3 id="651"><a href="lwg-defects.html#651">651</a>. Missing preconditions for regex_token_iterator c'tors</h3>
<p><b>Section:</b> 28.6.11.2.2 <a href="https://wg21.link/re.tokiter.cnstr">[re.tokiter.cnstr]</a> <b>Status:</b> <a href="lwg-active.html#CD1">CD1</a>
 <b>Submitter:</b> Daniel Kr&uuml;gler <b>Opened:</b> 2007-03-05 <b>Last modified:</b> 2016-01-28</p>
<p><b>Priority: </b>Not Prioritized
</p>
<p><b>View all other</b> <a href="lwg-index.html#re.tokiter.cnstr">issues</a> in [re.tokiter.cnstr].</p>
<p><b>View all issues with</b> <a href="lwg-status.html#CD1">CD1</a> status.</p>
<p><b>Discussion:</b></p>
<p>
The text provided in 28.6.11.2.2 <a href="https://wg21.link/re.tokiter.cnstr">[re.tokiter.cnstr]</a>/2+3 describes
the effects of the three non-default constructors of class
template regex_token_iterator but is does not clarify which values
are legal values for submatch/submatches. This becomes
an issue, if one takes 28.6.11.2 <a href="https://wg21.link/re.tokiter">[re.tokiter]</a>/9 into account, which explains
the notion of a "current match" by saying:
</p>

<blockquote><p>
The <i>current match</i> is <code>(*position).prefix()</code> if <code>subs[N]
== -1</code>, or <code>(*position)[subs[N]]</code> for any other value of
<code>subs[N]</code>.
</p></blockquote>

<p>
It's not clear to me, whether other negative values except -1
are legal arguments or not - it seems they are not.
</p>


<p id="res-651"><b>Proposed resolution:</b></p>
<p>
Add the following precondition paragraph just before the current
28.6.11.2.2 <a href="https://wg21.link/re.tokiter.cnstr">[re.tokiter.cnstr]</a>/2:
</p>

<blockquote><p>
<i>Requires:</i> Each of the initialization values of <code>subs</code> must be <code>&gt;= -1</code>.
</p></blockquote>


<p><i>[
Kona (2007): The LWG adopted the proposed resolution of N2409 for this issue (which
is to adopt the proposed wording in this issue).
The LWG voted to accelerate this issue to Ready status to be voted into the WP at Kona.
]</i></p>





</body>
</html>
