diff --git a/dcalc/DelayCalc.cc b/dcalc/DelayCalc.cc index 1e27b20e..98a3e7b1 100644 --- a/dcalc/DelayCalc.cc +++ b/dcalc/DelayCalc.cc @@ -84,10 +84,10 @@ isDelayCalcName(const std::string &name) return delay_calcs.contains(name); } -StdStringSeq +StringSeq delayCalcNames() { - StdStringSeq names; + StringSeq names; for (const auto &[name, make_dcalc] : delay_calcs) names.push_back(name); return names; diff --git a/dcalc/DelayCalc.i b/dcalc/DelayCalc.i index 62e4c24f..a0bbaea6 100644 --- a/dcalc/DelayCalc.i +++ b/dcalc/DelayCalc.i @@ -36,7 +36,7 @@ %inline %{ -StdStringSeq +StringSeq delay_calc_names() { return sta::delayCalcNames(); diff --git a/doc/ApiChanges.txt b/doc/ApiChanges.txt index 34136d76..23c9e11f 100644 --- a/doc/ApiChanges.txt +++ b/doc/ApiChanges.txt @@ -40,7 +40,7 @@ StaState::clk_network__ moved to Mode StaState::parasitics_ moved to Scene Sta::findPathEnds group_paths arg has been changed from PathGroupNameSet* -to StdStringSeq&. +to StringSeq&. Sta::isClock has been removed. Use mode->clkNetwork()->isClock instead. diff --git a/doc/ChangeLog.txt b/doc/ChangeLog.txt index 13bdcc38..8d695f63 100644 --- a/doc/ChangeLog.txt +++ b/doc/ChangeLog.txt @@ -201,7 +201,7 @@ to remove paths through identical pins and rise/fall edges. Instances now have pins for verilog netlist power/ground connections, Sta::findPathEnds group_paths arg has been changed from PathGroupNameSet* -to StdStringSeq&. +to StringSeq&. Release 2.6.1 2025/03/30 ------------------------- diff --git a/graph/Graph.i b/graph/Graph.i index 4eab5270..289ca3ba 100644 --- a/graph/Graph.i +++ b/graph/Graph.i @@ -229,12 +229,12 @@ arc_delays(TimingArc *arc) return delays; } -StdStringSeq +StringSeq arc_delay_strings(TimingArc *arc, int digits) { Sta *sta = Sta::sta(); - StdStringSeq delays; + StringSeq delays; DcalcAPIndex ap_count = sta->dcalcAnalysisPtCount(); for (DcalcAPIndex ap_index = 0; ap_index < ap_count; ap_index++) delays.push_back(delayAsString(sta->arcDelay(self, arc, ap_index), diff --git a/include/sta/DelayCalc.hh b/include/sta/DelayCalc.hh index 091b8799..cea48177 100644 --- a/include/sta/DelayCalc.hh +++ b/include/sta/DelayCalc.hh @@ -44,7 +44,7 @@ registerDelayCalc(const std::string &name, MakeArcDelayCalc maker); bool isDelayCalcName(const std::string &name); -StdStringSeq +StringSeq delayCalcNames(); void deleteDelayCalcs(); diff --git a/include/sta/Mode.hh b/include/sta/Mode.hh index 0c0827e1..b47adc00 100644 --- a/include/sta/Mode.hh +++ b/include/sta/Mode.hh @@ -71,7 +71,7 @@ public: bool unique_edges, float min_slack, float max_slack, - StdStringSeq &group_names, + StringSeq &group_names, bool setup, bool hold, bool recovery, diff --git a/include/sta/PathGroup.hh b/include/sta/PathGroup.hh index 836804f7..df0c5ca7 100644 --- a/include/sta/PathGroup.hh +++ b/include/sta/PathGroup.hh @@ -120,7 +120,7 @@ public: bool unique_edges, float slack_min, float slack_max, - StdStringSeq &group_names, + StringSeq &group_names, bool setup, bool hold, bool recovery, @@ -144,7 +144,7 @@ public: PathGroup *findPathGroup(const Clock *clock, const MinMax *min_max) const; PathGroupSeq pathGroups(const PathEnd *path_end) const; - static StdStringSeq pathGroupNames(const PathEnd *path_end, + static StringSeq pathGroupNames(const PathEnd *path_end, const StaState *sta); static const char *asyncPathGroupName() { return async_group_name_; } static const char *pathDelayGroupName() { return path_delay_group_name_; } @@ -194,7 +194,7 @@ protected: StdStringSet &group_names) const; static GroupPath *groupPathTo(const PathEnd *path_end, const StaState *sta); - StdStringSeq pathGroupNames(); + StringSeq pathGroupNames(); const Mode *mode_; int group_path_count_; diff --git a/include/sta/Search.hh b/include/sta/Search.hh index 4c98845c..bc516502 100644 --- a/include/sta/Search.hh +++ b/include/sta/Search.hh @@ -107,7 +107,7 @@ public: float slack_min, float slack_max, bool sort_by_slack, - StdStringSeq &group_names, + StringSeq &group_names, bool setup, bool hold, bool recovery, diff --git a/include/sta/Sta.hh b/include/sta/Sta.hh index b8212de8..fee94bd1 100644 --- a/include/sta/Sta.hh +++ b/include/sta/Sta.hh @@ -78,7 +78,7 @@ class GraphLoop; using ModeNameMap = std::map; using SceneNameMap = std::map; using SlowDrvrIterator = Iterator; -using CheckError = StdStringSeq; +using CheckError = StringSeq; using CheckErrorSeq = std::vector; enum class CmdNamespace { sta, sdc }; using ParasiticsNameMap = std::map; @@ -125,11 +125,11 @@ public: void setThreadCount(int thread_count); // define_corners compatibility. - void makeScenes(const StdStringSeq &scene_names); + void makeScenes(const StringSeq &scene_names); void makeScene(const std::string &name, const std::string &mode_name, - const StdStringSeq &liberty_min_files, - const StdStringSeq &liberty_max_files, + const StringSeq &liberty_min_files, + const StringSeq &liberty_max_files, const std::string &spef_min_file, const std::string &spef_max_file); Scene *findScene(const std::string &name) const; @@ -652,7 +652,7 @@ public: const Sdc *sdc) __attribute__ ((deprecated)); bool isPathGroupName(const char *group_name, const Sdc *sdc) const; - StdStringSeq pathGroupNames(const Sdc *sdc) const; + StringSeq pathGroupNames(const Sdc *sdc) const; void resetPath(ExceptionFrom *from, ExceptionThruSeq *thrus, ExceptionTo *to, @@ -965,7 +965,7 @@ public: bool sort_by_slack, // Path groups to report. // Empty list reports all groups. - StdStringSeq &group_names, + StringSeq &group_names, // Predicates to filter the type of path // ends returned. bool setup, @@ -975,7 +975,7 @@ public: bool clk_gating_setup, bool clk_gating_hold); void setReportPathFormat(ReportPathFormat format); - void setReportPathFieldOrder(const StdStringSeq &field_names); + void setReportPathFieldOrder(const StringSeq &field_names); void setReportPathFields(bool report_input_pin, bool report_hier_pins, bool report_net, @@ -1582,8 +1582,8 @@ protected: void setThreadCount1(int thread_count); void updateLibertyScenes(); void updateSceneLiberty(Scene *scene, - const StdStringSeq &liberty_min_files, - const StdStringSeq &liberty_max_files); + const StringSeq &liberty_min_files, + const StringSeq &liberty_max_files); Scene *makeScene(const std::string &name, Mode *mode, diff --git a/include/sta/StringUtil.hh b/include/sta/StringUtil.hh index 9b67ca4c..d237e9c3 100644 --- a/include/sta/StringUtil.hh +++ b/include/sta/StringUtil.hh @@ -34,7 +34,7 @@ namespace sta { -using StdStringSeq = std::vector; +using StringSeq = std::vector; using StdStringSet = std::set; inline bool @@ -206,7 +206,7 @@ void trimRight(std::string &str); // Spit text into delimiter separated tokens and skip whitepace. -StdStringSeq +StringSeq parseTokens(const std::string &s, const char delimiter); diff --git a/include/sta/TclTypeHelpers.hh b/include/sta/TclTypeHelpers.hh index 657aa018..08aa291b 100644 --- a/include/sta/TclTypeHelpers.hh +++ b/include/sta/TclTypeHelpers.hh @@ -33,10 +33,10 @@ namespace sta { typedef int Tcl_Size; #endif -StdStringSeq +StringSeq tclListSeqStdString(Tcl_Obj *const source, Tcl_Interp *interp); -StdStringSeq * +StringSeq * tclListSeqStdStringPtr(Tcl_Obj *const source, Tcl_Interp *interp); StdStringSet * diff --git a/liberty/LibertyReader.cc b/liberty/LibertyReader.cc index 872b135b..5d99d1f1 100644 --- a/liberty/LibertyReader.cc +++ b/liberty/LibertyReader.cc @@ -1894,8 +1894,8 @@ LibertyReader::makeTimingArcs(LibertyCell *cell, LibertyPort *related_output_port = findLibertyPort(cell, timing_group, "related_output_pin"); - StdStringSeq related_port_names = findAttributStrings(timing_group, "related_pin"); - StdStringSeq related_bus_names=findAttributStrings(timing_group,"related_bus_pins"); + StringSeq related_port_names = findAttributStrings(timing_group, "related_pin"); + StringSeq related_bus_names=findAttributStrings(timing_group,"related_bus_pins"); TimingType timing_type = timing_attrs->timingType(); for (LibertyPort *to_port : ports) { @@ -2743,7 +2743,7 @@ LibertyReader::findLibertyPort(LibertyCell *cell, return nullptr; } -StdStringSeq +StringSeq LibertyReader::findAttributStrings(const LibertyGroup *group, const char *name_attr) { @@ -2754,7 +2754,7 @@ LibertyReader::findAttributStrings(const LibertyGroup *group, return parseTokens(*strings, ' '); } } - return StdStringSeq(); + return StringSeq(); } LibertyPortSeq @@ -2763,7 +2763,7 @@ LibertyReader::findLibertyPorts(LibertyCell *cell, const char *port_name_attr) { LibertyPortSeq ports; - StdStringSeq port_names = findAttributStrings(group, port_name_attr); + StringSeq port_names = findAttributStrings(group, port_name_attr); for (const std::string &port_name : port_names) { LibertyPort *port = findPort(cell, port_name.c_str()); if (port) @@ -2915,40 +2915,40 @@ LibertyReader::readStatetable(LibertyCell *cell, const char *input_ports_arg = statetable_group->firstName(); const char *internal_ports_arg = statetable_group->params().size() >= 2 ? statetable_group->secondName() : nullptr; - StdStringSeq input_ports; + StringSeq input_ports; if (input_ports_arg) input_ports = parseTokens(input_ports_arg, ' '); - StdStringSeq internal_ports; + StringSeq internal_ports; if (internal_ports_arg) internal_ports = parseTokens(internal_ports_arg, ' '); const LibertySimpleAttr *table_attr = statetable_group->findSimpleAttr("table"); if (table_attr) { const std::string *table_str = table_attr->stringValue(); - StdStringSeq table_rows = parseTokens(table_str->c_str(), ','); + StringSeq table_rows = parseTokens(table_str->c_str(), ','); size_t input_count = input_ports.size(); size_t internal_count = internal_ports.size(); StatetableRows table; for (const std::string &row : table_rows) { - const StdStringSeq row_groups = parseTokens(row, ':'); + const StringSeq row_groups = parseTokens(row, ':'); if (row_groups.size() != 3) { libWarn(1300, table_attr, "table row must have 3 groups separated by ':'."); break; } - StdStringSeq inputs = parseTokens(row_groups[0], ' '); + StringSeq inputs = parseTokens(row_groups[0], ' '); if (inputs.size() != input_count) { libWarn(1301,table_attr,"table row has %zu input values but %zu are required.", inputs.size(), input_count); break; } - StdStringSeq currents = parseTokens(row_groups[1], ' '); + StringSeq currents = parseTokens(row_groups[1], ' '); if (currents.size() != internal_count) { libWarn(1302,table_attr, "table row has %zu current values but %zu are required.", currents.size(), internal_count); break; } - StdStringSeq nexts = parseTokens(row_groups[2], ' '); + StringSeq nexts = parseTokens(row_groups[2], ' '); if (nexts.size() != internal_count) { libWarn(1303, table_attr, "table row has %zu next values but %zu are required.", nexts.size(), internal_count); @@ -3087,7 +3087,7 @@ static EnumNameMap state_internal_value_name_map = }; StateInputValues -LibertyReader::parseStateInputValues(StdStringSeq &inputs, +LibertyReader::parseStateInputValues(StringSeq &inputs, const LibertySimpleAttr *attr) { StateInputValues input_values; @@ -3106,7 +3106,7 @@ LibertyReader::parseStateInputValues(StdStringSeq &inputs, } StateInternalValues -LibertyReader::parseStateInternalValues(StdStringSeq &states, +LibertyReader::parseStateInternalValues(StringSeq &states, const LibertySimpleAttr *attr) { StateInternalValues state_values; diff --git a/liberty/LibertyReaderPvt.hh b/liberty/LibertyReaderPvt.hh index ec8facff..9cfca58b 100644 --- a/liberty/LibertyReaderPvt.hh +++ b/liberty/LibertyReaderPvt.hh @@ -101,7 +101,7 @@ public: LibertyPort *findPort(LibertyCell *cell, const char *port_name); - StdStringSeq findAttributStrings(const LibertyGroup *group, + StringSeq findAttributStrings(const LibertyGroup *group, const char *name_attr); protected: @@ -402,9 +402,9 @@ protected: float defaultCap(LibertyPort *port); void visitPorts(std::function func); - StateInputValues parseStateInputValues(StdStringSeq &inputs, + StateInputValues parseStateInputValues(StringSeq &inputs, const LibertySimpleAttr *attr); - StateInternalValues parseStateInternalValues(StdStringSeq &states, + StateInternalValues parseStateInternalValues(StringSeq &states, const LibertySimpleAttr *attr); void getAttrInt(const LibertySimpleAttr *attr, diff --git a/parasitics/SpefParse.yy b/parasitics/SpefParse.yy index 260a212c..921db703 100755 --- a/parasitics/SpefParse.yy +++ b/parasitics/SpefParse.yy @@ -62,7 +62,7 @@ sta::SpefParse::error(const location_type &loc, char *string; int integer; float number; - sta::StdStringSeq *std_string_seq; + sta::StringSeq *std_string_seq; sta::PortDirection *port_dir; sta::SpefRspfPi *pi; sta::SpefTriple *triple; @@ -220,7 +220,7 @@ design_flow: qstrings: QSTRING - { $$ = new sta::StdStringSeq; + { $$ = new sta::StringSeq; $$->push_back($1); sta::stringDelete($1); } diff --git a/parasitics/SpefReader.cc b/parasitics/SpefReader.cc index 16f7a6dc..77dea552 100644 --- a/parasitics/SpefReader.cc +++ b/parasitics/SpefReader.cc @@ -291,7 +291,7 @@ SpefReader::portDirection(char *spef_dir) } void -SpefReader::setDesignFlow(StdStringSeq *flow) +SpefReader::setDesignFlow(StringSeq *flow) { design_flow_ = std::move(*flow); delete flow; diff --git a/parasitics/SpefReaderPvt.hh b/parasitics/SpefReaderPvt.hh index de0b8043..2ddb52ad 100644 --- a/parasitics/SpefReaderPvt.hh +++ b/parasitics/SpefReaderPvt.hh @@ -82,7 +82,7 @@ public: void makeNameMapEntry(const char *index, const char *name); const char *nameMapLookup(const char *index); - void setDesignFlow(StdStringSeq *flow_keys); + void setDesignFlow(StringSeq *flow_keys); Pin *findPin(char *name); Net *findNet(const char *name); void rspfBegin(Net *net, @@ -139,7 +139,7 @@ private: float res_scale_; float induct_scale_; SpefNameMap name_map_; - StdStringSeq design_flow_; + StringSeq design_flow_; Parasitics *parasitics_; Parasitic *parasitic_; }; diff --git a/sdc/Sdc.i b/sdc/Sdc.i index 328abb32..2bca70b0 100644 --- a/sdc/Sdc.i +++ b/sdc/Sdc.i @@ -1580,12 +1580,12 @@ filter_timing_arcs(const char *property, //////////////////////////////////////////////////////////////// -StdStringSeq +StringSeq group_path_names() { Sta *sta = Sta::sta(); Sdc *sdc = sta->cmdSdc(); - StdStringSeq pg_names; + StringSeq pg_names; for (auto const& [name, group] : sdc->groupPaths()) pg_names.push_back(name); return pg_names; diff --git a/search/CheckTiming.hh b/search/CheckTiming.hh index f2c821c7..75bd63ac 100644 --- a/search/CheckTiming.hh +++ b/search/CheckTiming.hh @@ -36,7 +36,7 @@ namespace sta { class ClkNetwork; -using CheckError = StdStringSeq; +using CheckError = StringSeq; using CheckErrorSeq = std::vector; class CheckTiming : public StaState diff --git a/search/Mode.cc b/search/Mode.cc index 80e5b5fd..1c44a73f 100644 --- a/search/Mode.cc +++ b/search/Mode.cc @@ -105,7 +105,7 @@ Mode::makePathGroups(int group_path_count, bool unique_edges, float slack_min, float slack_max, - StdStringSeq &group_names, + StringSeq &group_names, bool setup, bool hold, bool recovery, diff --git a/search/PathGroup.cc b/search/PathGroup.cc index b1ef7a0f..5f4ce29a 100644 --- a/search/PathGroup.cc +++ b/search/PathGroup.cc @@ -258,7 +258,7 @@ PathGroups::PathGroups(int group_path_count, bool unique_edges, float slack_min, float slack_max, - StdStringSeq &group_names, + StringSeq &group_names, bool setup, bool hold, bool recovery, @@ -479,11 +479,11 @@ PathGroups::pathGroups(const PathEnd *path_end) const } // Mirrors PathGroups::pathGroup. -StdStringSeq +StringSeq PathGroups::pathGroupNames(const PathEnd *path_end, const StaState *sta) { - StdStringSeq group_names; + StringSeq group_names; const char *group_name = nullptr; const Search *search = sta->search(); ExceptionPathSeq group_paths = search->groupPathsTo(path_end); @@ -576,14 +576,14 @@ PathGroups::pushEnds(PathEndSeq &path_ends) } } -StdStringSeq +StringSeq PathGroups::pathGroupNames() { std::set group_names1; const Sdc *sdc = mode_->sdc(); for (const auto& [name, group] : sdc->groupPaths()) group_names1.insert(name); - StdStringSeq group_names2; + StringSeq group_names2; for (const std::string &name : group_names1) group_names2.push_back(name); sort(group_names2); diff --git a/search/ReportPath.cc b/search/ReportPath.cc index 8c3d7b32..33fb3689 100644 --- a/search/ReportPath.cc +++ b/search/ReportPath.cc @@ -211,7 +211,7 @@ ReportPath::findField(const char *name) const } void -ReportPath::setReportFieldOrder(const StdStringSeq &field_names) +ReportPath::setReportFieldOrder(const StringSeq &field_names) { // Disable all fields. for (ReportField *field : fields_) diff --git a/search/ReportPath.hh b/search/ReportPath.hh index 2d5da89c..b934bc9e 100644 --- a/search/ReportPath.hh +++ b/search/ReportPath.hh @@ -49,7 +49,7 @@ public: virtual ~ReportPath(); ReportPathFormat pathFormat() const { return format_; } void setPathFormat(ReportPathFormat format); - void setReportFieldOrder(const StdStringSeq &field_names); + void setReportFieldOrder(const StringSeq &field_names); void setReportFields(bool report_input_pin, bool report_hier_pins, bool report_net, diff --git a/search/Search.cc b/search/Search.cc index aca08dfb..c7cc2a58 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -504,7 +504,7 @@ Search::findPathEnds(ExceptionFrom *from, float slack_min, float slack_max, bool sort_by_slack, - StdStringSeq &group_names, + StringSeq &group_names, bool setup, bool hold, bool recovery, diff --git a/search/Search.i b/search/Search.i index b2310c88..410cfdc2 100644 --- a/search/Search.i +++ b/search/Search.i @@ -242,7 +242,7 @@ endpoint_slack(const Pin *pin, } } -StdStringSeq +StringSeq path_group_names() { Sta *sta = Sta::sta(); @@ -359,7 +359,7 @@ find_path_ends(ExceptionFrom *from, float slack_min, float slack_max, bool sort_by_slack, - StdStringSeq path_groups, + StringSeq path_groups, bool setup, bool hold, bool recovery, @@ -395,7 +395,7 @@ set_report_path_format(ReportPathFormat format) } void -set_report_path_field_order(const StdStringSeq &field_names) +set_report_path_field_order(const StringSeq &field_names) { Sta::sta()->setReportPathFieldOrder(field_names); } @@ -740,8 +740,8 @@ write_timing_model_cmd(const char *lib_name, void define_scene_cmd(const char *name, const char *mode_name, - const StdStringSeq liberty_min_files, - const StdStringSeq liberty_max_files, + const StringSeq liberty_min_files, + const StringSeq liberty_max_files, const char *spef_min_file, const char *spef_max_file) { @@ -752,7 +752,7 @@ define_scene_cmd(const char *name, } void -define_scenes_cmd(const StdStringSeq &scene_names) +define_scenes_cmd(const StringSeq &scene_names) { Sta *sta = Sta::sta(); sta->makeScenes(scene_names); diff --git a/search/Sta.cc b/search/Sta.cc index 5353178e..f9134175 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -2075,10 +2075,10 @@ Sta::isPathGroupName(const char *group_name, || stringEq(group_name, PathGroups::unconstrainedGroupName()); } -StdStringSeq +StringSeq Sta::pathGroupNames(const Sdc *sdc) const { - StdStringSeq names; + StringSeq names; for (const Clock *clk : sdc->clocks()) names.push_back(clk->name()); @@ -2450,7 +2450,7 @@ void Sta::makeDefaultScene() { const char *name = "default"; - StdStringSeq scene_names; + StringSeq scene_names; scene_names.push_back(name); Parasitics *parasitics = makeConcreteParasitics(name, ""); @@ -2468,7 +2468,7 @@ Sta::makeDefaultScene() // define_corners (before read_liberty). void -Sta::makeScenes(const StdStringSeq &scene_names) +Sta::makeScenes(const StringSeq &scene_names) { if (scene_names.size() > scene_count_max) report_->error(1553, "maximum scene count exceeded"); @@ -2490,8 +2490,8 @@ Sta::makeScenes(const StdStringSeq &scene_names) void Sta::makeScene(const std::string &name, const std::string &mode_name, - const StdStringSeq &liberty_min_files, - const StdStringSeq &liberty_max_files, + const StringSeq &liberty_min_files, + const StringSeq &liberty_max_files, const std::string &spef_min_file, const std::string &spef_max_file) { @@ -2598,12 +2598,12 @@ Sta::findScenes(const std::string &name, void Sta::updateSceneLiberty(Scene *scene, - const StdStringSeq &liberty_min_files, - const StdStringSeq &liberty_max_files) + const StringSeq &liberty_min_files, + const StringSeq &liberty_max_files) { StdStringSet warned_files; for (const MinMax *min_max : MinMax::range()) { - const StdStringSeq &liberty_files = min_max == MinMax::min() + const StringSeq &liberty_files = min_max == MinMax::min() ? liberty_min_files : liberty_max_files; for (const std::string &lib_file : liberty_files) { @@ -2678,7 +2678,7 @@ Sta::findPathEnds(ExceptionFrom *from, float slack_min, float slack_max, bool sort_by_slack, - StdStringSeq &group_names, + StringSeq &group_names, bool setup, bool hold, bool recovery, @@ -2729,7 +2729,7 @@ Sta::setReportPathFormat(ReportPathFormat format) } void -Sta::setReportPathFieldOrder(const StdStringSeq &field_names) +Sta::setReportPathFieldOrder(const StringSeq &field_names) { report_path_->setReportFieldOrder(field_names); } @@ -3214,7 +3214,7 @@ void EndpointPathEndVisitor::visit(PathEnd *path_end) { if (path_end->minMax(sta_) == min_max_) { - StdStringSeq group_names = PathGroups::pathGroupNames(path_end, sta_); + StringSeq group_names = PathGroups::pathGroupNames(path_end, sta_); for (std::string &group_name : group_names) { if (group_name == path_group_name_) { Slack end_slack = path_end->slack(sta_); diff --git a/spice/WritePathSpice.cc b/spice/WritePathSpice.cc index 28b702f9..77a11723 100644 --- a/spice/WritePathSpice.cc +++ b/spice/WritePathSpice.cc @@ -227,7 +227,7 @@ WritePathSpice::writeHeader() void WritePathSpice::writePrintStmt() { - StdStringSeq node_names; + StringSeq node_names; for (Stage stage = stageFirst(); stage <= stageLast(); stage++) { node_names.push_back(stageDrvrPinName(stage)); node_names.push_back(stageLoadPinName(stage)); diff --git a/spice/WriteSpice.cc b/spice/WriteSpice.cc index ba477444..7d8c7ab8 100644 --- a/spice/WriteSpice.cc +++ b/spice/WriteSpice.cc @@ -151,7 +151,7 @@ WriteSpice::writeHeader(std::string &title, } void -WriteSpice::writePrintStmt(StdStringSeq &node_names) +WriteSpice::writePrintStmt(StringSeq &node_names) { streamPrint(spice_stream_, ".print tran"); if (ckt_sim_ == CircuitSim::xyce) { @@ -176,7 +176,7 @@ WriteSpice::replaceFileExt(std::string filename, // Write gnuplot command file for use with xyce csv file. void -WriteSpice::writeGnuplotFile(StdStringSeq &node_nanes) +WriteSpice::writeGnuplotFile(StringSeq &node_nanes) { std::string gnuplot_filename = replaceFileExt(spice_filename_, "gnuplot"); std::string csv_filename = replaceFileExt(spice_filename_, "csv"); @@ -209,7 +209,7 @@ WriteSpice::writeSubckts(StdStringSet &cell_names) std::string line; while (std::getline(lib_subckts_stream, line)) { // .subckt [args..] - StdStringSeq tokens = parseTokens(line, ' '); + StringSeq tokens = parseTokens(line, ' '); if (tokens.size() >= 2 && stringEqual(tokens[0].c_str(), ".subckt")) { const char *cell_name = tokens[1].c_str(); @@ -256,11 +256,11 @@ WriteSpice::writeSubckts(StdStringSet &cell_names) void WriteSpice::recordSpicePortNames(const char *cell_name, - StdStringSeq &tokens) + StringSeq &tokens) { LibertyCell *cell = network_->findLibertyCell(cell_name); if (cell) { - StdStringSeq &spice_port_names = cell_spice_port_names_[cell_name]; + StringSeq &spice_port_names = cell_spice_port_names_[cell_name]; for (size_t i = 2; i < tokens.size(); i++) { const char *port_name = tokens[i].c_str(); LibertyPort *port = cell->findLibertyPort(port_name); @@ -285,7 +285,7 @@ WriteSpice::findCellSubckts(StdStringSet &cell_names) std::string line; while (std::getline(lib_subckts_stream, line)) { // .subckt [args..] - StdStringSeq tokens = parseTokens(line, ' '); + StringSeq tokens = parseTokens(line, ' '); if (tokens.size() >= 2 && stringEqual(tokens[0].c_str(), ".subckt")) { const char *cell_name = tokens[1].c_str(); @@ -298,7 +298,7 @@ WriteSpice::findCellSubckts(StdStringSet &cell_names) else { // Process previous statement. if (tolower(stmt[0]) == 'x') { - StdStringSeq tokens = parseTokens(line, ' '); + StringSeq tokens = parseTokens(line, ' '); std::string &subckt_cell = tokens[tokens.size() - 1]; cell_names.insert(subckt_cell); } @@ -323,7 +323,7 @@ WriteSpice::writeSubcktInst(const Instance *inst) const char *inst_name = network_->pathName(inst); LibertyCell *cell = network_->libertyCell(inst); const char *cell_name = cell->name(); - StdStringSeq &spice_port_names = cell_spice_port_names_[cell_name]; + StringSeq &spice_port_names = cell_spice_port_names_[cell_name]; streamPrint(spice_stream_, "x%s", inst_name); for (std::string subckt_port_name : spice_port_names) { const char *subckt_port_cname = subckt_port_name.c_str(); @@ -351,7 +351,7 @@ WriteSpice::writeSubcktInstVoltSrcs(const Instance *inst, { LibertyCell *cell = network_->libertyCell(inst); const char *cell_name = cell->name(); - StdStringSeq &spice_port_names = cell_spice_port_names_[cell_name]; + StringSeq &spice_port_names = cell_spice_port_names_[cell_name]; const char *inst_name = network_->pathName(inst); debugPrint(debug_, "write_spice", 2, "subckt %s", cell->name()); diff --git a/spice/WriteSpice.hh b/spice/WriteSpice.hh index eb10fcfe..f28513a8 100644 --- a/spice/WriteSpice.hh +++ b/spice/WriteSpice.hh @@ -40,7 +40,7 @@ namespace sta { using ParasiticNodeMap = std::map; -using CellSpicePortNames = std::map; +using CellSpicePortNames = std::map; using LibertyPortLogicValues = std::map; // Utilities for writing a spice deck. @@ -63,12 +63,12 @@ protected: void writeHeader(std::string &title, float max_time, float time_step); - void writePrintStmt(StdStringSeq &node_names); - void writeGnuplotFile(StdStringSeq &node_nanes); + void writePrintStmt(StringSeq &node_names); + void writeGnuplotFile(StringSeq &node_nanes); void writeSubckts(StdStringSet &cell_names); void findCellSubckts(StdStringSet &cell_names); void recordSpicePortNames(const char *cell_name, - StdStringSeq &tokens); + StringSeq &tokens); void writeSubcktInst(const Instance *inst); void writeSubcktInstVoltSrcs(const Instance *inst, LibertyPortLogicValues &port_values, diff --git a/spice/Xyce.cc b/spice/Xyce.cc index a4a0f3b6..500a677b 100644 --- a/spice/Xyce.cc +++ b/spice/Xyce.cc @@ -37,7 +37,7 @@ namespace sta { void readXyceCsv(const char *csv_filename, // Return values. - StdStringSeq &titles, + StringSeq &titles, WaveformSeq &waveforms) { std::ifstream file(csv_filename); diff --git a/spice/Xyce.hh b/spice/Xyce.hh index ce8e5e6c..79db5821 100644 --- a/spice/Xyce.hh +++ b/spice/Xyce.hh @@ -37,7 +37,7 @@ using WaveformSeq = std::vector; void readXyceCsv(const char *csv_filename, // Return values. - StdStringSeq &titles, + StringSeq &titles, WaveformSeq &waveforms); } // namespace diff --git a/tcl/StaTclTypes.i b/tcl/StaTclTypes.i index 2c63941e..ec6ed2d5 100644 --- a/tcl/StaTclTypes.i +++ b/tcl/StaTclTypes.i @@ -294,16 +294,16 @@ using namespace sta; $1 = tclListSetStdString($input, interp); } -%typemap(in) StdStringSeq { +%typemap(in) StringSeq { $1 = tclListSeqStdString($input, interp); } -%typemap(in) const StdStringSeq & (StdStringSeq seq) { +%typemap(in) const StringSeq & (StringSeq seq) { seq = tclListSeqStdString($input, interp); $1 = &seq; } -%typemap(in) StdStringSeq* { +%typemap(in) StringSeq* { $1 = tclListSeqStdStringPtr($input, interp); } @@ -311,12 +311,12 @@ using namespace sta; $1 = tclListSetStdString($input, interp); } -%typemap(in) StdStringSeq { +%typemap(in) StringSeq { $1 = tclListSeqStdString($input, interp); } -%typemap(out) StdStringSeq { - StdStringSeq &strs = $1; +%typemap(out) StringSeq { + StringSeq &strs = $1; Tcl_Obj *list = Tcl_NewListObj(0, nullptr); for (const std::string &str : strs) { Tcl_Obj *obj = Tcl_NewStringObj(str.c_str(), str.size()); diff --git a/tcl/TclTypeHelpers.cc b/tcl/TclTypeHelpers.cc index 36e606fa..733b0b41 100644 --- a/tcl/TclTypeHelpers.cc +++ b/tcl/TclTypeHelpers.cc @@ -30,14 +30,14 @@ namespace sta { -StdStringSeq +StringSeq tclListSeqStdString(Tcl_Obj *const source, Tcl_Interp *interp) { Tcl_Size argc; Tcl_Obj **argv; - StdStringSeq seq; + StringSeq seq; if (Tcl_ListObjGetElements(interp, source, &argc, &argv) == TCL_OK) { for (int i = 0; i < argc; i++) { int length; @@ -48,7 +48,7 @@ tclListSeqStdString(Tcl_Obj *const source, return seq; } -StdStringSeq * +StringSeq * tclListSeqStdStringPtr(Tcl_Obj *const source, Tcl_Interp *interp) { @@ -56,7 +56,7 @@ tclListSeqStdStringPtr(Tcl_Obj *const source, Tcl_Obj **argv; if (Tcl_ListObjGetElements(interp, source, &argc, &argv) == TCL_OK) { - StdStringSeq *seq = new StdStringSeq; + StringSeq *seq = new StringSeq; for (int i = 0; i < argc; i++) { int length; const char *str = Tcl_GetStringFromObj(argv[i], &length); diff --git a/util/StringUtil.cc b/util/StringUtil.cc index 991d25db..2b93704c 100644 --- a/util/StringUtil.cc +++ b/util/StringUtil.cc @@ -265,11 +265,11 @@ trimRight(std::string &str) str.erase(str.find_last_not_of(" ") + 1); } -StdStringSeq +StringSeq split(const std::string &text, const std::string &delims) { - StdStringSeq tokens; + StringSeq tokens; auto start = text.find_first_not_of(delims); auto end = text.find_first_of(delims, start); while (end != std::string::npos) { @@ -283,11 +283,11 @@ split(const std::string &text, } // Parse space separated tokens. -StdStringSeq +StringSeq parseTokens(const std::string &s, const char delimiter) { - StdStringSeq tokens; + StringSeq tokens; size_t i = 0; while (i < s.size()) { while (i < s.size() && std::isspace(s[i])) diff --git a/verilog/VerilogReader.cc b/verilog/VerilogReader.cc index 72a49a4b..334633da 100644 --- a/verilog/VerilogReader.cc +++ b/verilog/VerilogReader.cc @@ -535,7 +535,7 @@ VerilogReader::makeModuleInst(const std::string *module_vname, if (liberty_cell && hasScalarNamedPortRefs(liberty_cell, pins)) { const int port_count = liberty_cell->portBitCount(); - StdStringSeq net_names(port_count); + StringSeq net_names(port_count); for (VerilogNet *vnet : *pins) { VerilogNetPortRefScalarNet *vpin = dynamic_cast(vnet); @@ -953,7 +953,7 @@ VerilogModuleInst::namedPins() VerilogLibertyInst::VerilogLibertyInst(LibertyCell *cell, const std::string &inst_name, - const StdStringSeq &net_names, + const StringSeq &net_names, VerilogAttrStmtSeq *attr_stmts, const int line) : VerilogInst(inst_name, attr_stmts, line), @@ -2008,7 +2008,7 @@ VerilogReader::makeLibertyInst(VerilogLibertyInst *lib_inst, network_->setAttribute(inst, entry->key(), entry->value()); } } - const StdStringSeq &net_names = lib_inst->netNames(); + const StringSeq &net_names = lib_inst->netNames(); LibertyCellPortBitIterator port_iter(lib_cell); while (port_iter.hasNext()) { LibertyPort *port = port_iter.next(); diff --git a/verilog/VerilogReaderPvt.hh b/verilog/VerilogReaderPvt.hh index 9f1fdffe..59c242e6 100644 --- a/verilog/VerilogReaderPvt.hh +++ b/verilog/VerilogReaderPvt.hh @@ -216,16 +216,16 @@ class VerilogLibertyInst : public VerilogInst public: VerilogLibertyInst(LibertyCell *cell, const std::string &inst_name, - const StdStringSeq &net_names, + const StringSeq &net_names, VerilogAttrStmtSeq *attr_stmts, const int line); virtual bool isLibertyInst() const { return true; } LibertyCell *cell() const { return cell_; } - const StdStringSeq &netNames() const { return net_names_; } + const StringSeq &netNames() const { return net_names_; } private: LibertyCell *cell_; - StdStringSeq net_names_; + StringSeq net_names_; }; // Abstract base class for nets.