Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <type_traits> 7 : 8 : #include "Evolution/Protocols.hpp" 9 : #include "PointwiseFunctions/AnalyticSolutions/AnalyticSolution.hpp" 10 : #include "Utilities/ProtocolHelpers.hpp" 11 : #include "Utilities/TypeTraits.hpp" 12 : 13 : namespace evolution { 14 : /// @{ 15 : /// Helper metafunction that checks if the class `T` is marked as numeric 16 : /// initial data. 17 : template <typename T> 18 1 : using is_numeric_initial_data = 19 : tt::conforms_to<T, protocols::NumericInitialData>; 20 : 21 : template <typename T> 22 1 : constexpr bool is_numeric_initial_data_v = 23 : tt::conforms_to_v<T, protocols::NumericInitialData>; 24 : /// @} 25 : } // namespace evolution