OSDN Git Service

Add some iterators that should have come in long ago
authorChris Lattner <sabre@nondot.org>
Wed, 9 Feb 2005 03:14:29 +0000 (03:14 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 9 Feb 2005 03:14:29 +0000 (03:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20085 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/DataStructure/DSNode.h

index 05e9cf6..b6f343f 100644 (file)
@@ -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<DSNodeHandle>::iterator edge_iterator;
+  typedef std::vector<DSNodeHandle>::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