mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Change the tag on this iterator to bidir and implement enough operators to make it true.
It ought to be possible to make this truly random access if anyone cares enough. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203060 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
907423f7db
commit
aa3d8b2d6c
@ -210,7 +210,7 @@ class NamedMDNode : public ilist_node<NamedMDNode> {
|
||||
|
||||
template<class T1, class T2>
|
||||
class op_iterator_impl :
|
||||
public std::iterator<std::random_access_iterator_tag, T2> {
|
||||
public std::iterator<std::bidirectional_iterator_tag, T2> {
|
||||
const NamedMDNode *Node;
|
||||
unsigned Idx;
|
||||
op_iterator_impl(const NamedMDNode *N, unsigned i) : Node(N), Idx(i) { }
|
||||
@ -232,6 +232,16 @@ class NamedMDNode : public ilist_node<NamedMDNode> {
|
||||
operator++();
|
||||
return tmp;
|
||||
}
|
||||
op_iterator_impl &operator--() {
|
||||
--Idx;
|
||||
return *this;
|
||||
}
|
||||
op_iterator_impl operator--(int) {
|
||||
op_iterator_impl tmp(*this);
|
||||
operator--();
|
||||
return tmp;
|
||||
}
|
||||
|
||||
op_iterator_impl &operator=(const op_iterator_impl &o) {
|
||||
Node = o.Node;
|
||||
Idx = o.Idx;
|
||||
|
Loading…
Reference in New Issue
Block a user