mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-12 14:20:33 +00:00
Add default constructors for iterators.
These iterators don't point anywhere, and they can't be compared to anything. They are only good for assigning to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120239 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
180e1247ca
commit
9a08ca318e
@ -1397,6 +1397,9 @@ protected:
|
||||
void treeAdvanceTo(KeyT x);
|
||||
|
||||
public:
|
||||
/// const_iterator - Create an iterator that isn't pointing anywhere.
|
||||
const_iterator() : map(0) {}
|
||||
|
||||
/// valid - Return true if the current position is valid, false for end().
|
||||
bool valid() const { return path.valid(); }
|
||||
|
||||
@ -1583,6 +1586,9 @@ class IntervalMap<KeyT, ValT, N, Traits>::iterator : public const_iterator {
|
||||
void eraseNode(unsigned Level);
|
||||
void treeErase(bool UpdateRoot = true);
|
||||
public:
|
||||
/// iterator - Create null iterator.
|
||||
iterator() {}
|
||||
|
||||
/// insert - Insert mapping [a;b] -> y before the current position.
|
||||
void insert(KeyT a, KeyT b, ValT y);
|
||||
|
||||
|
@ -41,6 +41,14 @@ TEST(IntervalMapTest, EmptyMap) {
|
||||
UUMap::iterator I = map.begin();
|
||||
EXPECT_FALSE(I.valid());
|
||||
EXPECT_TRUE(I == map.end());
|
||||
|
||||
// Default constructor and cross-constness compares.
|
||||
UUMap::const_iterator CI;
|
||||
CI = map.begin();
|
||||
EXPECT_TRUE(CI == I);
|
||||
UUMap::iterator I2;
|
||||
I2 = map.end();
|
||||
EXPECT_TRUE(I2 == CI);
|
||||
}
|
||||
|
||||
// Single entry map tests
|
||||
|
Loading…
Reference in New Issue
Block a user