diff options
Diffstat (limited to 'gcc/rust/util/rust-canonical-path.h')
-rw-r--r-- | gcc/rust/util/rust-canonical-path.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/rust/util/rust-canonical-path.h b/gcc/rust/util/rust-canonical-path.h index d6ba90d..b5f8dd7 100644 --- a/gcc/rust/util/rust-canonical-path.h +++ b/gcc/rust/util/rust-canonical-path.h @@ -110,6 +110,17 @@ public: } } + void iterate_segs (std::function<bool (const CanonicalPath &)> cb) const + { + for (auto &seg : segs) + { + std::vector<std::pair<NodeId, std::string>> buf; + buf.push_back ({seg.first, seg.second}); + if (!cb (CanonicalPath (buf))) + return; + } + } + size_t size () const { return segs.size (); } NodeId get_id () const |