ORNL / ORNL/cpp-proposals-pub

P0009 LWG Review 22-03-18

Open
#213 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
29
Forks
26
PR merge metrics
No merged PRs in 30d

Description

  • lower case in subclause headings (sentence ) [3bc8d0d5a13f]
  • can't have paragraphs in parent clauses [3bc8d0d5a13f]
extents.overview
  • subclause instead of section [3bc8d0d5a13f]
layout reqmts:
  • 1.3: The type of each element in multidimensional indices can be a different integer type. [103149c3e44d285]
  • 7: than and get rid of -1 [103149c3e44d285]
  • 11: if the size of the multi dim ... is 0 [103149c3e44d285]
  • 13/15/17: remove "the above" in the note [103149c3e44d285]
  • 17: remove * , rename i to j [103149c3e44d285]
  • 22: true for all possible objects m [103149c3e44d285]
layoutpolicy.reqmts
  • 1: get rid of template [103149c3e44d285]
  • 1: and for which the qualified-id X::layout_type is valid and denotes the type M [103149c3e44d285]
layout.left
  • out of class definitions of mappings [fcc0e30375d5]
  • 1: left most (without hyphen) [0d220a02517e85a]
  • 1: has stride 1 (digit) [0d220a02517e85]
synopsis:
  • label ctor [0d220a02517e85a]

  • linebreak: LayoutStrideMapping constexpr mapping( [f8770b747c38623d]

  • extents() function extents_ needs to be italics [a5b963a3c4ccbd6]

  • make is_unique()/is_contiguous()/is_stride() static [761017465fddf]

  • 3: remove "that is a specialization of extents [795cefbace3e]

  • 4: move 4 up as the first thing [795cefbace3e]

layout.left.ctors ctor
  • 1: value of type size_type [4f215fd83f03]

  • LayoutRightMapping Constructor: make LayoutRightMapping into layout_right::mapping [fcc0e30375d5]

  • LayoutStrideMapping COnstrutor: make it into layout_stride::mapping [fcc0e30375d5]

  • use extents_type::rank_type where appropriate [5455140178192b]

    • Note: added new requirement to layouts for rank_type typedef, we also duplicate size_type from extents there ...
mdspan.layout.stride
  • 1: user-defined. [04a6a934de33bcc]

  • synopsis

    • constructor take extents_type::rank() as N [04a6a934de33bcc]
    • make extents_type::rank as a private constexpr member [04a6a934de33bcc]
    • return const array& from strides [8dfbc34e8c382d]
      • superceded by next point
    • use span for constructor strides argument and return of strides span [b90789602a169]
      • make array things forward to functions with span: [fa739936ad4d]
      • Note we added span overloads since otherwise not callable with array, since template arguments can't be deduced
stride.expo
  • 5.1 spaces around == [8dfbc34e8c382d]
  • 3.2 move par 1 in the front of 3.2 [8dfbc34e8c382d]
  • 3.2: guarantees [8dfbc34e8c382d]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the checklist against the referenced commits, including 3bc8d0d5a13f, 103149c3e44d285, fcc0e30375d5, and the later hashes. Start with the affected proposal sections named in the issue, such as extents.overview, layout requirements, layout.left, and mdspan.layout.stride. Done means each listed wording change is resolved and the proposal matches the review decisions.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.