forked from lwg/issues
-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Automatic update from GitHub Actions workflow
- Loading branch information
github-actions
committed
Dec 14, 2024
1 parent
7450518
commit de201fa
Showing
22 changed files
with
280 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>Issue 4181: Some ranges have negative ssize</title> | ||
<meta property="og:title" content="Issue 4181: Some ranges have negative ssize"> | ||
<meta property="og:description" content="C++ library issue. Status: New"> | ||
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue4181.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#New">New</a> status.</em></p> | ||
<h3 id="4181"><a href="lwg-active.html#4181">4181</a>. Some ranges have negative <code class='backtick'>ssize</code></h3> | ||
<p><b>Section:</b> 24.7 <a href="https://wg21.link/iterator.range">[iterator.range]</a>, 25.3.11 <a href="https://wg21.link/range.prim.ssize">[range.prim.ssize]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a> | ||
<b>Submitter:</b> Casey Carter <b>Opened:</b> 2024-12-13 <b>Last modified:</b> 2024-12-14</p> | ||
<p><b>Priority: </b>Not Prioritized | ||
</p> | ||
<p><b>View other</b> <a href="lwg-index-open.html#iterator.range">active issues</a> in [iterator.range].</p> | ||
<p><b>View all other</b> <a href="lwg-index.html#iterator.range">issues</a> in [iterator.range].</p> | ||
<p><b>View all issues with</b> <a href="lwg-status.html#New">New</a> status.</p> | ||
<p><b>Discussion:</b></p> | ||
<p> | ||
There exist range types <code class='backtick'>R</code> whose size is representable by neither <code class='backtick'>ptrdiff_t</code> nor | ||
<code><i>make-signed-like-t</i><ranges::range_size_t<R>></code>, specifically <code class='backtick'>views::iota(size_t(0), size_t(-1))</code>. | ||
It's unfortunate that <code class='backtick'>std::ssize</code> and <code class='backtick'>ranges::ssize</code> produce a negative size for such ranges even when their | ||
difference type is capable of representing their size (see <a href="https://www.godbolt.org/z/599z55Y4f">demo</a>). | ||
Perhaps the <code class='backtick'>ssize</code> overloads should return | ||
<code>static_cast<common_type_t<ptrdiff_t, iter_difference_t<decltype(<i>meow</i>.begin())>>>(<i>meow</i>.size())</code> | ||
instead when the argument <code><i>meow</i></code> models <code class='backtick'>range</code>? | ||
</p> | ||
|
||
|
||
<p id="res-4181"><b>Proposed resolution:</b></p> | ||
|
||
|
||
|
||
|
||
|
||
</body> | ||
</html> |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.