33 Component(std::string
const& component_name,
34 std::unique_ptr<PropertyArray>&& properties);
93std::unique_ptr<Component>
newComponent(std::string
const& component_name,
94 bool& isCustomComponent);
98 std::span<PropertyType const>
const required_properties);
This class defines components (substances).
T dValue(PropertyType const p, VariableArray const &variable_array, Variable const variable) const
Property const & property(PropertyType const &) const
A get-function for retrieving a certain property.
T d2Value(PropertyType const p, VariableArray const &variable_array, Variable const variable1, Variable const variable2) const
Property const & operator[](PropertyType const &p) const
T value(PropertyType const p) const
virtual ~Component()=default
T value(PropertyType const p, VariableArray const &variable_array) const
PropertyArray properties_
The property array of the component.
bool hasProperty(PropertyType const &p) const
std::string description() const
Short description of the component with its name.
void checkRequiredProperties(Component const &c, std::span< PropertyType const > const required_properties)
std::array< std::unique_ptr< Property >, PropertyType::number_of_properties > PropertyArray
std::unique_ptr< Component > newComponent(std::string const &component_name, bool &isCustomComponent)