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