implementation details for template meta programming More...
implementation details for template meta programming
Typedefs | |
| template<class ... Tuples> | |
| using | ConCatTuples = decltype(std::tuple_cat(std::declval< Tuples >()...)) |
| helper alias to concatenate multiple tuples More... | |
Functions | |
| template<class P > | |
| constexpr auto | isDefinedProperty (int) -> decltype(std::integral_constant< bool, !std::is_same_v< typename P::type, UndefinedProperty > >{}) |
| check if a property P is defined More... | |
| template<class P > | |
| constexpr std::true_type | isDefinedProperty (...) |
| fall back if a Property is defined More... | |
| template<class T > | |
| constexpr auto | hasParentTypeTag (int) -> decltype(std::declval< typename T::InheritsFrom >(), std::true_type{}) |
| check if a TypeTag inherits from other TypeTags More... | |
| template<class T > | |
| constexpr std::false_type | hasParentTypeTag (...) |
| fall back if a TypeTag doesn't inherit More... | |
| using Dumux::Properties::Detail::ConCatTuples = typedef decltype(std::tuple_cat(std::declval<Tuples>()...)) |
helper alias to concatenate multiple tuples
|
constexpr |
fall back if a TypeTag doesn't inherit
|
constexpr |
check if a TypeTag inherits from other TypeTags
|
constexpr |
fall back if a Property is defined
|
constexpr |
check if a property P is defined