| 32 | #include <vector> |
| 33 | |
| 34 | std::string collect (db::RecursiveInstanceIterator &s, const db::Layout &layout) |
| 35 | { |
| 36 | std::string res; |
| 37 | while (! s.at_end ()) { |
| 38 | if (! res.empty ()) { |
| 39 | res += "/"; |
| 40 | } |
| 41 | if (s.cell ()) { |
| 42 | res += std::string ("[") + layout.cell_name (s.cell ()->cell_index ()) + "]"; |
| 43 | } else { |
| 44 | res += "[]"; |
| 45 | } |
| 46 | res += s->inst_ptr.to_string (true); |
| 47 | ++s; |
| 48 | } |
| 49 | return res; |
| 50 | } |
| 51 | |
| 52 | std::string collect_with_copy (db::RecursiveInstanceIterator s, const db::Layout &layout) |
| 53 | { |