43#ifndef OPENSWMM_ENGINE_DATA_SPECIES_REGISTRY_HPP
44#define OPENSWMM_ENGINE_DATA_SPECIES_REGISTRY_HPP
75 name_.push_back(std::move(
name));
76 kind_.push_back(
kind);
77 units_.push_back(std::move(
units));
79 return static_cast<int>(name_.size()) - 1;
83 for (std::size_t i = 0; i < name_.size(); ++i)
84 if (name_[i] ==
name)
return static_cast<int>(i);
88 int count() const noexcept {
return static_cast<int>(name_.size()); }
102 for (
const auto k : kind_)
110 const std::string&
name(
int i)
const {
return name_[
static_cast<std::size_t
>(i)]; }
112 const std::string&
units(
int i)
const {
return units_[
static_cast<std::size_t
>(i)]; }
120 if (n >=
count())
return;
121 const auto un =
static_cast<std::size_t
>(n);
126 for (
const auto k : kind_)
131 std::vector<std::string> name_;
132 std::vector<SpeciesKind> kind_;
133 std::vector<std::string> units_;
134 int n_pollutants_ = 0;
Definition SpeciesRegistry.hpp:61
int transported_count() const noexcept
Definition SpeciesRegistry.hpp:100
int pollutant_count() const noexcept
Definition SpeciesRegistry.hpp:89
int find(std::string_view name) const
Definition SpeciesRegistry.hpp:82
void truncate_to(int n)
Definition SpeciesRegistry.hpp:118
const std::string & name(int i) const
Definition SpeciesRegistry.hpp:110
void clear()
Definition SpeciesRegistry.hpp:63
int count() const noexcept
Definition SpeciesRegistry.hpp:88
int add(std::string name, SpeciesKind kind, std::string units)
Definition SpeciesRegistry.hpp:73
const std::string & units(int i) const
Definition SpeciesRegistry.hpp:112
SpeciesKind kind(int i) const
Definition SpeciesRegistry.hpp:111
Definition NodeCoupling.cpp:16
SpeciesKind
Constituent kinds (master plan ยง4.1).
Definition SpeciesRegistry.hpp:53
@ POLLUTANT
legacy [POLLUTANTS] entry
Definition SpeciesRegistry.hpp:54
@ MSX_BULK
reactions component BULK species (R1)
Definition SpeciesRegistry.hpp:57
@ RESERVED_AGE
WATER_AGE (phase A1)
Definition SpeciesRegistry.hpp:55
@ MSX_WALL
reactions component WALL species (R1)
Definition SpeciesRegistry.hpp:58
@ RESERVED_TEMPERATURE
TEMPERATURE (phase H1)
Definition SpeciesRegistry.hpp:56