[all-commits] [llvm/llvm-project] cfa096: [libc++][mdspan] Implement layout_right

Christian Trott via All-commits all-commits at lists.llvm.org
Thu Jun 29 07:13:29 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cfa096d9c92e758c4916dfd06d107fcec2edeca4
      https://github.com/llvm/llvm-project/commit/cfa096d9c92e758c4916dfd06d107fcec2edeca4
  Author: Christian Trott <crtrott at sandia.gov>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__fwd/mdspan.h
    M libcxx/include/__mdspan/extents.h
    A libcxx/include/__mdspan/layout_right.h
    M libcxx/include/mdspan
    M libcxx/include/module.modulemap.in
    M libcxx/modules/std/mdspan.cppm
    A libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    R libcxx/test/std/containers/views/mdspan/extents/ConvertibleToIntegral.h
    M libcxx/test/std/containers/views/mdspan/extents/CtorTestCombinations.h
    M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_from_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_from_integral.pass.cpp
    M libcxx/test/std/containers/views/mdspan/extents/ctor_from_span.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/assert.stride.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/extents.verify.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
    A libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp

  Log Message:
  -----------
  [libc++][mdspan] Implement layout_right

This commit implements layout_right in support of C++23 mdspan
(https://wg21.link/p0009). layout_right is a layout mapping policy
whose index mapping corresponds to the memory layout of multidimensional
C-arrays, and is thus also referred to as the C-layout.

Co-authored-by: Damien L-G <dalg24 at gmail.com>

Differential Revision: https://reviews.llvm.org/D151267




More information about the All-commits mailing list