Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstddef>
7 : #include <type_traits>
8 :
9 : /// \cond
10 : namespace Parallel {
11 : template <size_t Dim, typename Metavariables, typename PhaseDepActionList,
12 : typename SimpleTagsFromOptions>
13 : class DgElementArrayMember;
14 : template <size_t Dim>
15 : class DgElementArrayMemberBase;
16 : } // namespace Parallel
17 : /// \endcond
18 :
19 : namespace Parallel {
20 : /// \brief Is `std::true_type` if `T` is a `Parallel::DgElementArrayMember` or
21 : /// `Parallel::DgElementArrayMemberBase`, else is `std::false_type`.
22 : template <typename T>
23 1 : struct is_dg_element_array_member : std::false_type {};
24 :
25 : /// \cond
26 : template <size_t Dim, typename Metavariables, typename PhaseDepActionList,
27 : typename SimpleTagsFromOptions>
28 : struct is_dg_element_array_member<DgElementArrayMember<
29 : Dim, Metavariables, PhaseDepActionList, SimpleTagsFromOptions>>
30 : : std::true_type {};
31 :
32 : template <size_t Dim>
33 : struct is_dg_element_array_member<DgElementArrayMemberBase<Dim>>
34 : : std::true_type {};
35 : /// \endcond
36 :
37 : /// \brief Is `true` if `T` is a `Parallel::DgElementArrayMember` or
38 : /// `Parallel::DgElementArrayMemberBase`, else is `false`.
39 : template <class T>
40 1 : constexpr bool is_dg_element_array_member_v =
41 : is_dg_element_array_member<T>::value;
42 : } // namespace Parallel
|