The Dumux property system, traits with inheritance. More...
#include <tuple>#include <type_traits>Go to the source code of this file.
The Dumux property system, traits with inheritance.
Namespaces | |
| namespace | Dumux |
| namespace | Dumux::Properties |
| namespace | Dumux::Properties::Detail |
| implementation details for template meta programming | |
Typedefs | |
| template<class ... Tuples> | |
| using | Dumux::Properties::Detail::ConCatTuples = decltype(std::tuple_cat(std::declval< Tuples >()...)) |
| helper alias to concatenate multiple tuples More... | |
| template<class TypeTag , template< class, class > class Property> | |
| using | Dumux::GetProp = typename Properties::Detail::GetPropImpl< TypeTag, Property >::type |
| get the type of a property More... | |
| template<class TypeTag , template< class, class > class Property> | |
| using | Dumux::GetPropType = typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type |
| get the type alias defined in the property More... | |
Functions | |
| template<class P > | |
| constexpr auto | Dumux::Properties::Detail::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 | Dumux::Properties::Detail::isDefinedProperty (...) |
| fall back if a Property is defined More... | |
| template<class T > | |
| constexpr auto | Dumux::Properties::Detail::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 | Dumux::Properties::Detail::hasParentTypeTag (...) |
| fall back if a TypeTag doesn't inherit More... | |
| template<class TypeTag , template< class, class > class Property> | |
| constexpr auto | Dumux::getPropValue () |
| get the value data member of a property More... | |