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
|