38#ifndef OPENSWMM_ENGINE_OBJECT_DELETER_HPP
39#define OPENSWMM_ENGINE_OBJECT_DELETER_HPP
78 void add(
int ot,
int oi,
const char* f,
bool deleted) {
79 entries.push_back({ot, oi, f, deleted});
333 const std::string& object_name);
The central, reentrant simulation context for the new engine.
Definition ObjectDeleter.cpp:38
CascadeResult analyze_node_impact(const SimulationContext &ctx, int node_idx)
Inspect references to a node.
Definition ObjectDeleter.cpp:368
CascadeResult delete_link(SimulationContext &ctx, int link_idx)
Delete a link.
Definition ObjectDeleter.cpp:760
CascadeResult delete_nodes_many(SimulationContext &ctx, std::vector< int > indices)
Delete node rows in deduplicated descending pre-batch order.
Definition ObjectDeleter.cpp:1025
CascadeResult analyze_inlet_impact(const SimulationContext &ctx, int inlet_idx)
Inspect references to a inlet design.
Definition ObjectDeleter.cpp:1938
CascadeResult analyze_transect_impact(const SimulationContext &ctx, int transect_idx)
Inspect references to a transect.
Definition ObjectDeleter.cpp:603
CascadeResult delete_lid(SimulationContext &ctx, int lid_idx)
Delete a LID control.
Definition ObjectDeleter.cpp:1778
std::vector< int > find_control_rule_refs(const SimulationContext &ctx, const std::string &object_name)
Find stored rule-text tokens naming an object after an object keyword.
Definition ObjectDeleter.cpp:314
CascadeResult delete_landuse(SimulationContext &ctx, int landuse_idx)
Delete a land use.
Definition ObjectDeleter.cpp:2015
CascadeResult delete_snowpack(SimulationContext &ctx, int snowpack_idx)
Delete a snowpack.
Definition ObjectDeleter.cpp:1726
CascadeResult analyze_link_impact(const SimulationContext &ctx, int link_idx)
Inspect references to a link.
Definition ObjectDeleter.cpp:427
CascadeResult delete_subcatch(SimulationContext &ctx, int sc_idx)
Delete a subcatchment.
Definition ObjectDeleter.cpp:824
CascadeResult delete_aquifer(SimulationContext &ctx, int aquifer_idx)
Delete a aquifer.
Definition ObjectDeleter.cpp:1672
CascadeResult analyze_hydrograph_impact(const SimulationContext &ctx, const std::string &uh_name)
Inspect RDII references to an exact-case hydrograph group.
Definition ObjectDeleter.cpp:2103
CascadeResult analyze_lid_impact(const SimulationContext &ctx, int lid_idx)
Inspect references to a LID control.
Definition ObjectDeleter.cpp:1766
CascadeResult analyze_street_impact(const SimulationContext &ctx, int street_idx)
Inspect references to a street.
Definition ObjectDeleter.cpp:1857
CascadeResult delete_gage(SimulationContext &ctx, int gage_idx)
Delete a rain gage.
Definition ObjectDeleter.cpp:904
CascadeResult analyze_landuse_impact(const SimulationContext &ctx, int landuse_idx)
Inspect references to a land use.
Definition ObjectDeleter.cpp:2009
CascadeResult delete_links_many(SimulationContext &ctx, std::vector< int > indices)
Delete link rows in deduplicated descending pre-batch order.
Definition ObjectDeleter.cpp:1031
CascadeResult analyze_gage_impact(const SimulationContext &ctx, int gage_idx)
Inspect references to a rain gage.
Definition ObjectDeleter.cpp:488
CascadeResult delete_pattern(SimulationContext &ctx, int pattern_idx)
Delete a time pattern.
Definition ObjectDeleter.cpp:1620
CascadeResult analyze_table_impact(const SimulationContext &ctx, int table_idx)
Inspect references to a time-series/curve table.
Definition ObjectDeleter.cpp:512
CascadeResult analyze_subcatch_impact(const SimulationContext &ctx, int sc_idx)
Inspect references to a subcatchment.
Definition ObjectDeleter.cpp:448
CascadeResult analyze_snowpack_impact(const SimulationContext &ctx, int snowpack_idx)
Inspect references to a snowpack.
Definition ObjectDeleter.cpp:1718
CascadeResult delete_table(SimulationContext &ctx, int table_idx)
Delete a time-series/curve table.
Definition ObjectDeleter.cpp:1050
CascadeResult delete_pollutant(SimulationContext &ctx, int pollut_idx)
Delete a pollutant.
Definition ObjectDeleter.cpp:1431
CascadeResult analyze_pattern_impact(const SimulationContext &ctx, int pattern_idx)
Inspect references to a time pattern.
Definition ObjectDeleter.cpp:1614
CascadeResult delete_street(SimulationContext &ctx, int street_idx)
Delete a street.
Definition ObjectDeleter.cpp:1876
CascadeResult delete_transect(SimulationContext &ctx, int transect_idx)
Delete a transect.
Definition ObjectDeleter.cpp:1200
CascadeResult analyze_pollutant_impact(const SimulationContext &ctx, int pollut_idx)
Inspect references to a pollutant.
Definition ObjectDeleter.cpp:1425
CascadeResult delete_gages_many(SimulationContext &ctx, std::vector< int > indices)
Delete rain gage rows in deduplicated descending pre-batch order.
Definition ObjectDeleter.cpp:1041
CascadeResult analyze_aquifer_impact(const SimulationContext &ctx, int aquifer_idx)
Inspect references to a aquifer.
Definition ObjectDeleter.cpp:1664
CascadeResult delete_inlet(SimulationContext &ctx, int inlet_idx)
Delete a inlet design.
Definition ObjectDeleter.cpp:1946
CascadeResult delete_subcatches_many(SimulationContext &ctx, std::vector< int > indices)
Delete subcatchment rows in deduplicated descending pre-batch order.
Definition ObjectDeleter.cpp:1036
CascadeResult delete_node(SimulationContext &ctx, int node_idx)
Delete a node.
Definition ObjectDeleter.cpp:626
CascadeResult delete_hydrograph(SimulationContext &ctx, const std::string &uh_name)
Delete all authoring rows belonging to an exact-case hydrograph group.
Definition ObjectDeleter.cpp:2111
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Describes one object that was impacted (deleted or nullified) during a cascade deletion.
Definition ObjectDeleter.hpp:55
bool cascaded
true = deleted, false = reference nullified
Definition ObjectDeleter.hpp:59
const char * field
Static field-name string literal.
Definition ObjectDeleter.hpp:58
int obj_idx
Zero-based index at the time of impact.
Definition ObjectDeleter.hpp:57
int obj_type
SWMM_RefType value.
Definition ObjectDeleter.hpp:56
Aggregate cascade result for one deletion operation.
Definition ObjectDeleter.hpp:63
void add(int ot, int oi, const char *f, bool deleted)
Append one owned impact descriptor with a borrowed static field label.
Definition ObjectDeleter.hpp:78
std::vector< CascadeEntry > entries
Definition ObjectDeleter.hpp:64