10 #ifndef KOKKOS_LAYOUT_CONTIGUOUS_HPP
11 #define KOKKOS_LAYOUT_CONTIGUOUS_HPP
15 #ifndef KOKKOS_IMPL_PUBLIC_INCLUDE
16 #define KOKKOS_IMPL_PUBLIC_INCLUDE
17 #define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
19 #include "Kokkos_Core_fwd.hpp"
20 #include "Kokkos_Layout.hpp"
21 #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
22 #undef KOKKOS_IMPL_PUBLIC_INCLUDE
23 #undef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE
30 template <
typename Layout,
unsigned Str
ide = 1>
41 KOKKOS_INLINE_FUNCTION
43 KOKKOS_INLINE_FUNCTION
48 template <
class Layout>
50 static const bool value =
false;
53 template <
class Layout>
59 template <
class Layout>
64 template <
class Layout>
69 template <
class Layout,
unsigned Str
ide>
80 template <
class Layout,
unsigned Str
ide>
81 struct is_same< Kokkos::LayoutContiguous<Layout,Stride>, Layout> {
85 template <
class Layout,
unsigned Str
ide>
86 #if defined(KOKKOS_COMPILER_INTEL)
87 inline constexpr
bool is_same_v< Kokkos::LayoutContiguous<Layout,Stride>, Layout> = is_same<Kokkos::LayoutContiguous<Layout,Stride>, Layout>
::value;
89 static constexpr
bool is_same_v< Kokkos::LayoutContiguous<Layout,Stride>, Layout> = is_same<Kokkos::LayoutContiguous<Layout,Stride>, Layout>
::value;
92 template <
class Layout,
unsigned Str
ide>
93 struct is_same< Layout, Kokkos::LayoutContiguous<Layout,Stride> > {
97 template <
class Layout,
unsigned Str
ide>
98 #if defined(KOKKOS_COMPILER_INTEL)
99 inline constexpr
bool is_same_v< Layout, Kokkos::LayoutContiguous<Layout,Stride>> = is_same<Kokkos::LayoutContiguous<Layout,Stride>, Layout>
::value;
101 static constexpr
bool is_same_v< Layout, Kokkos::LayoutContiguous<Layout,Stride>> = is_same<Kokkos::LayoutContiguous<Layout,Stride>, Layout>
::value;
105 #if KOKKOS_VERSION >= 40499
106 #include "View/Kokkos_ViewMapping.hpp"
108 #include "impl/Kokkos_ViewMapping.hpp"
115 template <
class Dimension ,
class Layout ,
unsigned Str
ide >
117 :
public ViewOffset<Dimension,Layout> {
123 typedef ViewOffset<Dimension,Layout>
Base;
125 ViewOffset() = default ;
126 ViewOffset(
const ViewOffset & ) = default ;
127 ViewOffset & operator = (
const ViewOffset & ) = default ;
131 template <
typename Arg1>
132 KOKKOS_INLINE_FUNCTION
135 template <
typename Arg1,
typename Arg2>
136 KOKKOS_INLINE_FUNCTION
140 template <
typename Layout>
146 template <
typename Layout,
unsigned Str
ide>
155 #endif // #ifndef KOKKOS_LAYOUT_CONTIGUOUS_HPP
static const bool is_unit_stride
KOKKOS_INLINE_FUNCTION constexpr ViewOffset(const Arg1 &arg1)
static const unsigned stride
KOKKOS_INLINE_FUNCTION constexpr LayoutContiguous(Layout const &layout)
KOKKOS_INLINE_FUNCTION constexpr ViewOffset(const Arg1 &arg1, const Arg2 &arg2)
LayoutContiguous array_layout
Tag this class as a kokkos array layout.
KOKKOS_INLINE_FUNCTION constexpr LayoutContiguous(Layout &&layout)
ViewOffset< Dimension, Layout > Base