35 Phase(std::string&& phase_name,
36 std::vector<std::unique_ptr<Component>>&& components,
37 std::unique_ptr<PropertyArray>&& properties);
77 std::span<PropertyType const>
const required_properties);
This class defines components (substances).
Property const & property(PropertyType const &p) const
PropertyArray properties_
std::string description() const
Short description of the phase with its name.
std::size_t numberOfComponents() const
A get-function for retrieving the number of components in this phase.
std::vector< std::unique_ptr< Component > > const components_
Property const & operator[](PropertyType const &p) const
bool hasProperty(PropertyType const &p) const
Phase(std::string &&phase_name, std::vector< std::unique_ptr< Component > > &&components, std::unique_ptr< PropertyArray > &&properties)
The Phase constructor is called with the optional phase name.
bool hasComponent(std::size_t const &index) const
Component const & component(std::size_t const &index) const
void checkRequiredProperties(Component const &c, std::span< PropertyType const > const required_properties)
std::array< std::unique_ptr< Property >, PropertyType::number_of_properties > PropertyArray