diff options
author | Tanya Lattner <tonic@nondot.org> | 2004-01-20 17:49:42 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2004-01-20 17:49:42 +0000 |
commit | a105c802b2eb7a3fae9340bbb43be52399fc4548 (patch) | |
tree | 0b1c6dc10b91ee9823d7d68e956e745b7399236d /lib/CodeGen/InstrSched/SchedGraph.h | |
parent | cdaff32ef63230f2f2e5f1ecdc4243c7d4d9acd7 (diff) |
Moved iterators to common file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10925 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/InstrSched/SchedGraph.h')
-rw-r--r-- | lib/CodeGen/InstrSched/SchedGraph.h | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/lib/CodeGen/InstrSched/SchedGraph.h b/lib/CodeGen/InstrSched/SchedGraph.h index 5aee9b25f6..18b2a3f884 100644 --- a/lib/CodeGen/InstrSched/SchedGraph.h +++ b/lib/CodeGen/InstrSched/SchedGraph.h @@ -180,68 +180,6 @@ public: -//********************** Sched Graph Iterators *****************************/ - -// Ok to make it a template because it shd get instantiated at most twice: -// for <SchedGraphNode, SchedGraphNode::iterator> and -// for <const SchedGraphNode, SchedGraphNode::const_iterator>. -// -template <class _NodeType, class _EdgeType, class _EdgeIter> -class SGPredIterator: public bidirectional_iterator<_NodeType, ptrdiff_t> { -protected: - _EdgeIter oi; -public: - typedef SGPredIterator<_NodeType, _EdgeType, _EdgeIter> _Self; - - inline SGPredIterator(_EdgeIter startEdge) : oi(startEdge) {} - - inline bool operator==(const _Self& x) const { return oi == x.oi; } - inline bool operator!=(const _Self& x) const { return !operator==(x); } - - // operator*() differs for pred or succ iterator - inline _NodeType* operator*() const { return (_NodeType*)(*oi)->getSrc(); } - inline _NodeType* operator->() const { return operator*(); } - - inline _EdgeType* getEdge() const { return *(oi); } - - inline _Self &operator++() { ++oi; return *this; } // Preincrement - inline _Self operator++(int) { // Postincrement - _Self tmp(*this); ++*this; return tmp; - } - - inline _Self &operator--() { --oi; return *this; } // Predecrement - inline _Self operator--(int) { // Postdecrement - _Self tmp = *this; --*this; return tmp; - } -}; - -template <class _NodeType, class _EdgeType, class _EdgeIter> -class SGSuccIterator : public bidirectional_iterator<_NodeType, ptrdiff_t> { -protected: - _EdgeIter oi; -public: - typedef SGSuccIterator<_NodeType, _EdgeType, _EdgeIter> _Self; - - inline SGSuccIterator(_EdgeIter startEdge) : oi(startEdge) {} - - inline bool operator==(const _Self& x) const { return oi == x.oi; } - inline bool operator!=(const _Self& x) const { return !operator==(x); } - - inline _NodeType* operator*() const { return (_NodeType*)(*oi)->getSink(); } - inline _NodeType* operator->() const { return operator*(); } - - inline _EdgeType* getEdge() const { return *(oi); } - - inline _Self &operator++() { ++oi; return *this; } // Preincrement - inline _Self operator++(int) { // Postincrement - _Self tmp(*this); ++*this; return tmp; - } - - inline _Self &operator--() { --oi; return *this; } // Predecrement - inline _Self operator--(int) { // Postdecrement - _Self tmp = *this; --*this; return tmp; - } -}; // // sg_pred_iterator |