DOLFINx 0.9.0
DOLFINx C++ interface
Loading...
Searching...
No Matches
traits.h
1// Copyright (C) 2024 Joseph P. Dean and Garth N. Wells
2// This file is part of DOLFINx (https://www.fenicsproject.org)
3//
4// SPDX-License-Identifier: LGPL-3.0-or-later
5
6#pragma once
7
8#include <concepts>
9#include <cstdint>
10#include <dolfinx/common/types.h>
11#include <span>
12#include <type_traits>
13
14namespace dolfinx::fem
15{
16
18template <class U, class T>
20 = std::is_invocable_v<U, std::span<T>, std::span<const std::uint32_t>,
21 std::int32_t, int>;
22
27template <class U, class T>
28concept FEkernel = std::is_invocable_v<U, T*, const T*, const T*,
29 const scalar_value_type_t<T>*,
30 const int*, const std::uint8_t*>;
31
32} // namespace dolfinx::fem
DOF transform kernel concept.
Definition traits.h:20
Finite element cell kernel concept.
Definition traits.h:28
Finite element method functionality.
Definition assemble_matrix_impl.h:26