diff --git a/src/mesh/ItemToItemMatrix.hpp b/src/mesh/ItemToItemMatrix.hpp index 20f57dc33ed1ce4840b6f152b61ea7a6b47a63e4..510c421fc9c1a67d0565d4b5e5e3e08c91c4ccd9 100644 --- a/src/mesh/ItemToItemMatrix.hpp +++ b/src/mesh/ItemToItemMatrix.hpp @@ -42,11 +42,19 @@ class ItemToItemMatrix ; } + KOKKOS_INLINE_FUNCTION SubItemList& operator=(const SubItemList&) = default; + + KOKKOS_INLINE_FUNCTION SubItemList& operator=(SubItemList&&) = default; + KOKKOS_INLINE_FUNCTION SubItemList(const SubItemList&) = default; + + KOKKOS_INLINE_FUNCTION SubItemList(SubItemList&&) = default; + + KOKKOS_INLINE_FUNCTION ~SubItemList() = default; }; @@ -54,6 +62,7 @@ class ItemToItemMatrix const ConnectivityMatrix& m_connectivity_matrix; public: + KOKKOS_INLINE_FUNCTION const auto operator[](const SourceItemId& source_id) const { using RowType = decltype(m_connectivity_matrix.rowConst(source_id)); @@ -61,6 +70,7 @@ class ItemToItemMatrix } template <typename IndexType> + KOKKOS_INLINE_FUNCTION const auto operator[](const IndexType& source_id) const { static_assert(std::is_same<IndexType, SourceItemId>(), @@ -69,17 +79,26 @@ class ItemToItemMatrix return SubItemList<RowType>(m_connectivity_matrix.rowConst(source_id)); } + KOKKOS_INLINE_FUNCTION ItemToItemMatrix(const ConnectivityMatrix& connectivity_matrix) : m_connectivity_matrix{connectivity_matrix} { ; } + KOKKOS_INLINE_FUNCTION ItemToItemMatrix& operator=(const ItemToItemMatrix&) = default; + + KOKKOS_INLINE_FUNCTION ItemToItemMatrix& operator=(ItemToItemMatrix&&) = default; + KOKKOS_INLINE_FUNCTION ItemToItemMatrix(ItemToItemMatrix&&) = default; + + KOKKOS_INLINE_FUNCTION ItemToItemMatrix(const ItemToItemMatrix&) = default; + + KOKKOS_INLINE_FUNCTION ~ItemToItemMatrix() = default; };