1#ifndef __MIXTURE_SPECIES_DESCRIPTOR_HPP__
2#define __MIXTURE_SPECIES_DESCRIPTOR_HPP__
3#include <initializer_list>
19 template <
class Archive>
29 std::optional<double> henry);
42 [[nodiscard]] std::size_t
n_species()
const;
45 template <
class Archive>
55 std::optional<std::reference_wrapper<const Specie>>
add(
Specie&& s);
56 [[nodiscard]] std::optional<std::reference_wrapper<const Specie>>
57 get(std::string_view name)
const;
59 [[nodiscard]] std::optional<size_t>
index_of(std::string_view name)
const;
61 [[nodiscard]]
bool has(std::string_view name)
const;
67 | std::views::transform([](
const Specie& e)
68 {
return e.
henry.value_or(0.0); });
75 | std::views::transform([](
const Specie& e) {
return e.
name; });
78 std::ostream&
operator<<(std::ostream& os,
const Specie& s);
80 std::ostream&
operator<<(std::ostream& os,
const SpecieTable& table);
std::optional< size_t > index_of(std::string_view name) const
Definition species_descriptor.cpp:65
std::optional< std::reference_wrapper< const Specie > > get(std::string_view name) const
Definition species_descriptor.cpp:105
std::optional< std::reference_wrapper< const Specie > > add(Specie &&s)
Definition species_descriptor.cpp:93
auto species_list() const
Definition species_descriptor.hpp:72
bool has(std::string_view name) const
Definition species_descriptor.cpp:87
SpecieTable(std::initializer_list< Specie > values)
Definition species_descriptor.cpp:59
std::size_t n_species() const
Definition species_descriptor.cpp:54
void serialize(Archive &archive)
Definition species_descriptor.hpp:47
std::vector< Specie > m_table
Definition species_descriptor.hpp:38
auto henry() const
Definition species_descriptor.hpp:64
friend std::ostream & operator<<(std::ostream &, const SpecieTable &)
Definition species_descriptor.cpp:21
Definition species_descriptor.hpp:10
std::ostream & operator<<(std::ostream &os, const Specie &s)
Definition species_descriptor.cpp:10
Specie new_specie(std::string_view _name, double molar_weight, std::optional< double > henry)
Definition species_descriptor.cpp:32
std::optional< Specie > query_species(std::string_view)
Definition query_species.cpp:56
Definition species_descriptor.hpp:83
std::vector< Specie > species
Definition species_descriptor.hpp:84
double bubble_diameter
Definition species_descriptor.hpp:85
Definition species_descriptor.hpp:13
std::string name
Definition species_descriptor.hpp:14
std::optional< double > henry
Definition species_descriptor.hpp:17
std::optional< double > molar_weight
Definition species_descriptor.hpp:15
void serialize(Archive &archive)
Definition species_descriptor.hpp:21