|
SpECTRE
2021.08.02
|
Classes that define metaprogramming interfaces. More...
Classes | |
| struct | dg::protocols::NumericalFlux |
| Defines the interface for DG numerical fluxes. More... | |
| struct | tt::ConformsTo< Protocol > |
Indicate a class conforms to the Protocol. More... | |
| template<typename ConformingType , typename Protocol > | |
| using | tt::conforms_to = typename std::is_convertible< ConformingType *, ConformsTo< Protocol > * > |
Checks if the ConformingType conforms to the Protocol. More... | |
| template<typename ConformingType , typename Protocol > | |
| constexpr bool | tt::conforms_to_v |
Checks if the ConformingType conforms to the Protocol. More... | |
Classes that define metaprogramming interfaces.
See the Protocols section of the dev guide for details.
| using tt::conforms_to = typedef typename std::is_convertible<ConformingType*, ConformsTo<Protocol>*> |
Checks if the ConformingType conforms to the Protocol.
This metafunction is SFINAE-friendly. See tt::assert_conforms_to for a metafunction that is not SFINAE-friendly but that triggers static asserts with diagnostic messages to understand why the ConformingType does not conform to the Protocol.
This metafunction only checks if the class derives off the protocol to reduce compile time. Protocol conformance is tested rigorously in the unit tests instead.
|
constexpr |
Checks if the ConformingType conforms to the Protocol.
This metafunction is SFINAE-friendly. See tt::assert_conforms_to for a metafunction that is not SFINAE-friendly but that triggers static asserts with diagnostic messages to understand why the ConformingType does not conform to the Protocol.
This metafunction only checks if the class derives off the protocol to reduce compile time. Protocol conformance is tested rigorously in the unit tests instead.