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 : class DgElementCollection; 13 : } // namespace Parallel 14 : /// \endcond 15 : 16 : namespace Parallel { 17 : /// \brief Is `std::true_type` if `T` is a `Parallel::DgElementCollection`, else 18 : /// is `std::false_type`. 19 : template <typename T> 20 1 : struct is_dg_element_collection : std::false_type {}; 21 : 22 : /// \cond 23 : template <size_t Dim, typename Metavariables, typename PhaseDepActionList> 24 : struct is_dg_element_collection< 25 : DgElementCollection<Dim, Metavariables, PhaseDepActionList>> 26 : : std::true_type {}; 27 : /// \endcond 28 : 29 : /// \brief Is `true` if `T` is a `Parallel::DgElementCollection`, else is 30 : /// `false`. 31 : template <class T> 32 1 : constexpr bool is_dg_element_collection_v = is_dg_element_collection<T>::value; 33 : } // namespace Parallel