From 06e353c5a978e31adf4269f91cd02807991bc0cb Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 9 Feb 2005 03:14:29 +0000 Subject: Add some iterators that should have come in long ago llvm-svn: 20085 --- llvm/include/llvm/Analysis/DataStructure/DSNode.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'llvm/include') diff --git a/llvm/include/llvm/Analysis/DataStructure/DSNode.h b/llvm/include/llvm/Analysis/DataStructure/DSNode.h index 05e9cf641ca..b6f343fe4f3 100644 --- a/llvm/include/llvm/Analysis/DataStructure/DSNode.h +++ b/llvm/include/llvm/Analysis/DataStructure/DSNode.h @@ -213,6 +213,16 @@ public: /// unsigned getNumLinks() const { return Links.size(); } + /// edge_* - Provide iterators for accessing outgoing edges. Some outgoing + /// edges may be null. + typedef std::vector::iterator edge_iterator; + typedef std::vector::const_iterator const_edge_iterator; + edge_iterator edge_begin() { return Links.begin(); } + edge_iterator edge_end() { return Links.end(); } + const_edge_iterator edge_begin() const { return Links.begin(); } + const_edge_iterator edge_end() const { return Links.end(); } + + /// mergeTypeInfo - This method merges the specified type into the current /// node at the specified offset. This may update the current node's type /// record if this gives more information to the node, it may do nothing to -- cgit v1.2.3