13#ifndef DUMUX_COMPONENT_TRAITS_HH
14#define DUMUX_COMPONENT_TRAITS_HH
29template<
class Component>
32 using Scalar =
typename Component::Scalar;
35 static constexpr bool hasSolidState = std::is_base_of<Components::Solid<Scalar, Component>, Component>::value;
38 static constexpr bool hasLiquidState = std::is_base_of<Components::Liquid<Scalar, Component>, Component>::value;
41 static constexpr bool hasGasState = std::is_base_of<Components::Gas<Scalar, Component>, Component>::value;
44 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:31
static constexpr bool hasLiquidState
if the component implements a liquid state
Definition: componenttraits.hh:38
typename Component::Scalar Scalar
Definition: componenttraits.hh:32
static constexpr bool isIon
if the component implements an ion
Definition: componenttraits.hh:44
static constexpr bool hasSolidState
if the component implements a solid state
Definition: componenttraits.hh:35
static constexpr bool hasGasState
if the component implements a gaseous state
Definition: componenttraits.hh:41