brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 8889567 Raw
58 lines · c
1// -*- C++ -*-2//===----------------------------------------------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//                        Kokkos v. 4.09//       Copyright (2022) National Technology & Engineering10//               Solutions of Sandia, LLC (NTESS).11//12// Under the terms of Contract DE-NA0003525 with NTESS,13// the U.S. Government retains certain rights in this software.14//15//===---------------------------------------------------------------------===//16 17#ifndef _LIBCPP___MDSPAN_LAYOUTS_H18#define _LIBCPP___MDSPAN_LAYOUTS_H19 20#include <__config>21 22#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)23#  pragma GCC system_header24#endif25 26_LIBCPP_PUSH_MACROS27#include <__undef_macros>28 29_LIBCPP_BEGIN_NAMESPACE_STD30 31#if _LIBCPP_STD_VER >= 2332 33// Layout policy with a mapping which corresponds to FORTRAN-style array layouts34struct layout_left {35  template <class _Extents>36  class mapping;37};38 39// Layout policy with a mapping which corresponds to C-style array layouts40struct layout_right {41  template <class _Extents>42  class mapping;43};44 45// Layout policy with a unique mapping where strides are arbitrary46struct layout_stride {47  template <class _Extents>48  class mapping;49};50 51#endif // _LIBCPP_STD_VER >= 2352 53_LIBCPP_END_NAMESPACE_STD54 55_LIBCPP_POP_MACROS56 57#endif // _LIBCPP___MDSPAN_LAYOUTS_H58