![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Time-pattern authoring names, types and multiplier vectors. More...
#include <InflowData.hpp>
Public Member Functions | |
| int | count () const |
| Count rows in the primary ordered column. | |
| void | add (const std::string &name, int type, const std::vector< double > &facs) |
| Append a copied pattern row. | |
| int | find (std::string_view name) const noexcept |
| Find the first ASCII-insensitive pattern name match. | |
Public Attributes | |
| std::vector< std::string > | names |
| Pattern name. | |
| std::vector< int > | types |
| 0=MONTHLY,1=DAILY,2=HOURLY,3=WEEKEND | |
| std::vector< std::vector< double > > | factors |
| Up to 24 multiplier values. | |
Time-pattern authoring names, types and multiplier vectors.
Owns its strings and vectors; references/iterators into columns may be invalidated by append/erase. Mutating this container does not synchronize engine solver state.
|
inline |
Append a copied pattern row.
Low-level authoring storage only: no lifecycle, name/reference, numeric or duplicate validation and no solver-cache rebuild. Caller keeps parallel columns aligned, serializes access and keeps row count representable as int. Allocation exceptions can leave a partially appended row; there is no rollback.
| [in] | name | Copied pattern name; empty/duplicate names are accepted. |
| [in] | type | Copied monthly/daily/hourly/weekend type code; no range check. |
| [in] | facs | Copied multiplier sequence; its length and numeric values are not checked. |
|
inline |
Count rows in the primary ordered column.
|
inlinenoexcept |
Find the first ASCII-insensitive pattern name match.
Linear scan preserves first-entry precedence when duplicate equivalent names exist. Caller prevents concurrent table mutation.
| [in] | name | Borrowed name bytes, including any embedded NUL; no allocation or normalization. |
| std::vector<std::vector<double> > openswmm::PatternData::factors |
Up to 24 multiplier values.
| std::vector<std::string> openswmm::PatternData::names |
Pattern name.
| std::vector<int> openswmm::PatternData::types |
0=MONTHLY,1=DAILY,2=HOURLY,3=WEEKEND