Path: blob/main/contrib/llvm-project/libcxx/include/__fwd/mdspan.h
35233 views
// -*- C++ -*-1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7// Kokkos v. 4.08// Copyright (2022) National Technology & Engineering9// Solutions of Sandia, LLC (NTESS).10//11// Under the terms of Contract DE-NA0003525 with NTESS,12// the U.S. Government retains certain rights in this software.13//14//===---------------------------------------------------------------------===//1516#ifndef _LIBCPP___MDSPAN_LAYOUTS_H17#define _LIBCPP___MDSPAN_LAYOUTS_H1819#include <__config>2021#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)22# pragma GCC system_header23#endif2425_LIBCPP_PUSH_MACROS26#include <__undef_macros>2728_LIBCPP_BEGIN_NAMESPACE_STD2930#if _LIBCPP_STD_VER >= 233132// Layout policy with a mapping which corresponds to FORTRAN-style array layouts33struct layout_left {34template <class _Extents>35class mapping;36};3738// Layout policy with a mapping which corresponds to C-style array layouts39struct layout_right {40template <class _Extents>41class mapping;42};4344// Layout policy with a unique mapping where strides are arbitrary45struct layout_stride {46template <class _Extents>47class mapping;48};4950#endif // _LIBCPP_STD_VER >= 235152_LIBCPP_END_NAMESPACE_STD5354_LIBCPP_POP_MACROS5556#endif // _LIBCPP___MDSPAN_LAYOUTS_H575859