Warning: This file is not a C or C++ file. It does not have highlighting.
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-exception |
7 | // |
8 | // Kokkos v. 4.0 |
9 | // Copyright (2022) National Technology & Engineering |
10 | // 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_H |
18 | #define _LIBCPP___MDSPAN_LAYOUTS_H |
19 | |
20 | #include <__config> |
21 | |
22 | #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) |
23 | # pragma GCC system_header |
24 | #endif |
25 | |
26 | _LIBCPP_PUSH_MACROS |
27 | #include <__undef_macros> |
28 | |
29 | _LIBCPP_BEGIN_NAMESPACE_STD |
30 | |
31 | #if _LIBCPP_STD_VER >= 23 |
32 | |
33 | // Layout policy with a mapping which corresponds to FORTRAN-style array layouts |
34 | struct layout_left { |
35 | template <class _Extents> |
36 | class mapping; |
37 | }; |
38 | |
39 | // Layout policy with a mapping which corresponds to C-style array layouts |
40 | struct layout_right { |
41 | template <class _Extents> |
42 | class mapping; |
43 | }; |
44 | |
45 | // Layout policy with a unique mapping where strides are arbitrary |
46 | struct layout_stride { |
47 | template <class _Extents> |
48 | class mapping; |
49 | }; |
50 | |
51 | #endif // _LIBCPP_STD_VER >= 23 |
52 | |
53 | _LIBCPP_END_NAMESPACE_STD |
54 | |
55 | _LIBCPP_POP_MACROS |
56 | |
57 | #endif // _LIBCPP___MDSPAN_LAYOUTS_H |
58 |
Warning: This file is not a C or C++ file. It does not have highlighting.