25#ifndef DUMUX_COMPONENT_TRAITS_HH
26#define DUMUX_COMPONENT_TRAITS_HH
41template<
class Component>
44 using Scalar =
typename Component::Scalar;
47 static constexpr bool hasSolidState = std::is_base_of<Components::Solid<Scalar, Component>, Component>::value;
50 static constexpr bool hasLiquidState = std::is_base_of<Components::Liquid<Scalar, Component>, Component>::value;
53 static constexpr bool hasGasState = std::is_base_of<Components::Gas<Scalar, Component>, Component>::value;
56 static constexpr bool isIon = std::is_base_of<Components::Ion<Scalar, Component>, Component>::value;
Interface for components that have a gas state.
Interface for components that are ions.
Interface for components that have a liquid state.
Interface for components that have a solid state.
Component traits, i.e. information extracted from components.
Definition: componenttraits.hh:43
static constexpr bool hasLiquidState
if the component implements a liquid state
Definition: componenttraits.hh:50
typename Component::Scalar Scalar
Definition: componenttraits.hh:44
static constexpr bool isIon
if the component implements an ion
Definition: componenttraits.hh:56
static constexpr bool hasSolidState
if the component implements a solid state
Definition: componenttraits.hh:47
static constexpr bool hasGasState
if the component implements a gaseous state
Definition: componenttraits.hh:53