diff --git a/include/sta/Corner.hh b/include/sta/Corner.hh index 5ca9d34a..4cbf1bff 100644 --- a/include/sta/Corner.hh +++ b/include/sta/Corner.hh @@ -136,55 +136,4 @@ private: DISALLOW_COPY_AND_ASSIGN(Corner); }; -// Obsolete. Use range iterator. -// for (auto corner : *sta->corners()) {} -class CornerIterator : public Iterator -{ -public: - explicit CornerIterator(const StaState *sta); - virtual ~CornerIterator() {} - virtual bool hasNext(); - virtual Corner *next(); - -protected: - CornerSeq::ConstIterator iter_; - -private: - DISALLOW_COPY_AND_ASSIGN(CornerIterator); -}; - -// Obsolete. Use range iterator. -// for (auto dcalc_ap : sta->corners()->dcalcAnalysisPts()) {} -class DcalcAnalysisPtIterator : public Iterator -{ -public: - explicit DcalcAnalysisPtIterator(const StaState *sta); - virtual ~DcalcAnalysisPtIterator() {} - virtual bool hasNext(); - virtual DcalcAnalysisPt *next(); - -protected: - DcalcAnalysisPtSeq::ConstIterator ap_iter_; - -private: - DISALLOW_COPY_AND_ASSIGN(DcalcAnalysisPtIterator); -}; - -// Obsolete. Use range iterator. -// for (auto path_ap : sta->corners()->pathAnalysisPts()) {} -class PathAnalysisPtIterator : public Iterator -{ -public: - explicit PathAnalysisPtIterator(const StaState *sta); - virtual ~PathAnalysisPtIterator() {} - virtual bool hasNext(); - virtual PathAnalysisPt *next(); - -protected: - PathAnalysisPtSeq::ConstIterator ap_iter_; - -private: - DISALLOW_COPY_AND_ASSIGN(PathAnalysisPtIterator); -}; - } // namespace diff --git a/search/Corner.cc b/search/Corner.cc index d4a62022..9c68193a 100644 --- a/search/Corner.cc +++ b/search/Corner.cc @@ -443,61 +443,4 @@ Corner::libertyIndex(const MinMax *min_max) const return index_ * MinMax::index_count + min_max->index(); } -//////////////////////////////////////////////////////////////// - -CornerIterator::CornerIterator(const StaState *sta) : - iter_(sta->corners()->corners()) -{ -} - -bool -CornerIterator::hasNext() -{ - return iter_.hasNext(); -} - -Corner * -CornerIterator::next() -{ - return iter_.next(); -} - -//////////////////////////////////////////////////////////////// - -DcalcAnalysisPtIterator::DcalcAnalysisPtIterator(const StaState *sta) : - ap_iter_(sta->corners()->dcalcAnalysisPts()) -{ -} - -bool -DcalcAnalysisPtIterator::hasNext() -{ - return ap_iter_.hasNext(); -} - -DcalcAnalysisPt * -DcalcAnalysisPtIterator::next() -{ - return ap_iter_.next(); -} - -//////////////////////////////////////////////////////////////// - -PathAnalysisPtIterator::PathAnalysisPtIterator(const StaState *sta) : - ap_iter_(sta->corners()->pathAnalysisPts()) -{ -} - -bool -PathAnalysisPtIterator::hasNext() -{ - return ap_iter_.hasNext(); -} - -PathAnalysisPt * -PathAnalysisPtIterator::next() -{ - return ap_iter_.next(); -} - } // namespace diff --git a/tcl/StaTcl.i b/tcl/StaTcl.i index 6edea79f..2605d626 100644 --- a/tcl/StaTcl.i +++ b/tcl/StaTcl.i @@ -5894,11 +5894,8 @@ slews(RiseFall *rf) { Sta *sta = Sta::sta(); TmpFloatSeq *floats = new FloatSeq; - DcalcAnalysisPtIterator ap_iter(sta); - while (ap_iter.hasNext()) { - DcalcAnalysisPt *dcalc_ap = ap_iter.next(); + for (auto dcalc_ap : sta->corners()->dcalcAnalysisPts()) floats->push_back(delayAsFloat(sta->vertexSlew(self, rf, dcalc_ap))); - } return floats; } @@ -6104,11 +6101,8 @@ arc_delays(TimingArc *arc) { Sta *sta = Sta::sta(); TmpFloatSeq *floats = new FloatSeq; - DcalcAnalysisPtIterator ap_iter(sta); - while (ap_iter.hasNext()) { - DcalcAnalysisPt *dcalc_ap = ap_iter.next(); + for (auto dcalc_ap : sta->corners()->dcalcAnalysisPts()) floats->push_back(delayAsFloat(sta->arcDelay(self, arc, dcalc_ap))); - } return floats; } @@ -6118,12 +6112,9 @@ arc_delay_strings(TimingArc *arc, { Sta *sta = Sta::sta(); StringSeq *delays = new StringSeq; - DcalcAnalysisPtIterator ap_iter(sta); - while (ap_iter.hasNext()) { - DcalcAnalysisPt *dcalc_ap = ap_iter.next(); + for (auto dcalc_ap : sta->corners()->dcalcAnalysisPts()) delays->push_back(delayAsString(sta->arcDelay(self, arc, dcalc_ap), sta, digits)); - } return delays; }