Skip to content
This repository was archived by the owner on Sep 18, 2024. It is now read-only.

Commit 40801b3

Browse files
committed
Address issue #63, insufficient vetting by Kokkos team of P0900.
Add specific requests for LEWG straw polls on span proposal P0546.
1 parent 7f4f66e commit 40801b3

File tree

2 files changed

+104
-69
lines changed

2 files changed

+104
-69
lines changed

proposals/P0546.rst

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@ P0546r2 : Span - foundation for the future
33
===================================================================
44

55
:Project: ISO JTC1/SC22/WG21: Programming Language C++
6-
:Number: D0546r2
7-
:Date: 2017-10-11
8-
6+
:Number: P0546r2
7+
:Date: 2018-02-11
8+
99
:Author: H\. Carter Edwards
1010
11-
:Author: Bryce Lelbach
12-
1311
:Author: Daniel Sunderland
1412
1513
:Audience: Library Evolution Working Group (LEWG)
@@ -24,6 +22,7 @@ P0546r2 : Span - foundation for the future
2422
+------------+-------------------------------------------------------------+
2523
+ P0546r2 + Update AccessProperties to Properties. +
2624
+ + Reference P0900 on properties ontology. +
25+
+ + Request LEWG straw polls at 2018-03-Jacksonville. +
2726
+------------+-------------------------------------------------------------+
2827

2928
+------------+-------------------------------------------------------------+
@@ -42,6 +41,40 @@ P0546r2 : Span - foundation for the future
4241
| P0900 | Property Ontology |
4342
+------------+-------------------------------------------------------------+
4443

44+
******************************************************************
45+
Requested Action by LEWG at 2018-03-Jacksonville
46+
******************************************************************
47+
48+
- Recall `LEWG 2017-11-Albuquerque
49+
<http://wiki.edg.com/bin/view/Wg21albuquerque/P0546>`_
50+
straw polls
51+
52+
*We should specify the dynamic extent as the
53+
element type of the first template parameter
54+
rather than the (current) second template parameter*
55+
56+
**SF 5 , F 3 , N 2 , A 2 , SA 0**
57+
58+
*We support the addition of access properties variadic template parameters*
59+
60+
**SF 0 , F 10 , N 1 , A 5 , SA 0**
61+
62+
63+
- LEWG 2018-03-Jacksonville requested straw polls:
64+
65+
1. Revise P0122 ``span`` to declare extent as part of the element type of
66+
the first template parameter; before progressing ``span`` through LWG?
67+
68+
* This modifies ``span`` to have a single template argument.
69+
70+
71+
2. For the single template argument ``span`` add the properties parameter pack
72+
to enable properties such as ``atomic_access`` (P0860) and
73+
``restrict_access`` (P0856); before progressing ``span`` through LWG?
74+
75+
3. Introduce into wording the vocabulary of *domain index space*
76+
for the set of admissible indices and
77+
*codomain element space* for the set of referenced objects.
4578

4679
******************************************************************
4780
Motivation
@@ -62,19 +95,19 @@ to incorporate additional high performance access needs such
6295
as those identified in **P0009** and **P0367**.
6396

6497

65-
Summary of Proposed Change
98+
Summary of Proposed Changes
6699
----------------------------------------------------------------------------
67100

68-
Instead of ``ElementType`` provide an ``ArrayType`` and
69-
delete the *magic value* ``dynamic_extent`` .
70-
71101
.. code-block:: c++
72102

73103
template < class ArrayType , typename ... Properties >
74104
class span ;
75105

76106
..
77107
108+
1. Instead of ``ElementType`` provide an ``ArrayType`` and
109+
delete the *magic value* ``dynamic_extent`` .
110+
78111
- ``ArrayType`` is either
79112

80113
- ``ElementType[N]`` for a span with explicit static length,
@@ -87,6 +120,9 @@ delete the *magic value* ``dynamic_extent`` .
87120

88121
- The need for a ``dynamic_extent`` *magic value* is entirely eliminated.
89122

123+
124+
2. Add properties parameter pack.
125+
90126
- ``Properties...`` is a well-defined extension point **P0900**.
91127
This extension point, while not exercised in this proposal, enables
92128
code which is templated on ``span`` to be *future proofed* with
@@ -97,7 +133,7 @@ delete the *magic value* ``dynamic_extent`` .
97133
future proof.
98134

99135

100-
Introduce vocabulary of *domain index space* and *codomain element space* .
136+
3. Introduce vocabulary of *domain index space* and *codomain element space* .
101137

102138

103139
Precedence
@@ -271,7 +307,6 @@ Changes to span constructors, copy, assignment, and destructor [span.cons]
271307
.. code-block:: c++
272308

273309
constexpr span() noexcept ;
274-
constexpr span( nullptr_t ) nodexcept ;
275310

276311
..
277312

0 commit comments

Comments
 (0)