Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 11 additions & 15 deletions llvm/include/llvm/ADT/StringMap.h
Original file line number Diff line number Diff line change
Expand Up @@ -220,14 +220,12 @@ class LLVM_ALLOCATORHOLDER_EMPTYBASE StringMap
using const_iterator = StringMapIterBase<ValueTy, true>;
using iterator = StringMapIterBase<ValueTy, false>;

iterator begin() { return iterator(TheTable, NumBuckets == 0); }
iterator end() { return iterator(TheTable + NumBuckets, true); }
iterator begin() { return iterator(TheTable, NumBuckets != 0); }
iterator end() { return iterator(TheTable + NumBuckets); }
const_iterator begin() const {
return const_iterator(TheTable, NumBuckets == 0);
}
const_iterator end() const {
return const_iterator(TheTable + NumBuckets, true);
return const_iterator(TheTable, NumBuckets != 0);
}
const_iterator end() const { return const_iterator(TheTable + NumBuckets); }

iterator_range<StringMapKeyIterator<ValueTy>> keys() const {
return make_range(StringMapKeyIterator<ValueTy>(begin()),
Expand All @@ -240,7 +238,7 @@ class LLVM_ALLOCATORHOLDER_EMPTYBASE StringMap
int Bucket = FindKey(Key, FullHashValue);
if (Bucket == -1)
return end();
return iterator(TheTable + Bucket, true);
return iterator(TheTable + Bucket);
}

const_iterator find(StringRef Key) const { return find(Key, hash(Key)); }
Expand All @@ -249,7 +247,7 @@ class LLVM_ALLOCATORHOLDER_EMPTYBASE StringMap
int Bucket = FindKey(Key, FullHashValue);
if (Bucket == -1)
return end();
return const_iterator(TheTable + Bucket, true);
return const_iterator(TheTable + Bucket);
}

/// lookup - Return the entry for the specified key, or a default
Expand Down Expand Up @@ -380,8 +378,7 @@ class LLVM_ALLOCATORHOLDER_EMPTYBASE StringMap
unsigned BucketNo = LookupBucketFor(Key, FullHashValue);
StringMapEntryBase *&Bucket = TheTable[BucketNo];
if (Bucket && Bucket != getTombstoneVal())
return {iterator(TheTable + BucketNo, false),
false}; // Already exists in map.
return {iterator(TheTable + BucketNo), false}; // Already exists in map.

if (Bucket == getTombstoneVal())
--NumTombstones;
Expand All @@ -391,7 +388,7 @@ class LLVM_ALLOCATORHOLDER_EMPTYBASE StringMap
assert(NumItems + NumTombstones <= NumBuckets);

BucketNo = RehashTable(BucketNo);
return {iterator(TheTable + BucketNo, false), true};
return {iterator(TheTable + BucketNo), true};
}

// clear - Empties out the StringMap
Expand Down Expand Up @@ -444,10 +441,9 @@ template <typename ValueTy, bool IsConst> class StringMapIterBase {

StringMapIterBase() = default;

explicit StringMapIterBase(StringMapEntryBase **Bucket,
bool NoAdvance = false)
explicit StringMapIterBase(StringMapEntryBase **Bucket, bool Advance = false)
: Ptr(Bucket) {
if (!NoAdvance)
if (Advance)
AdvancePastEmptyBuckets();
}

Expand All @@ -469,7 +465,7 @@ template <typename ValueTy, bool IsConst> class StringMapIterBase {
template <bool ToConst,
typename = typename std::enable_if<!IsConst && ToConst>::type>
operator StringMapIterBase<ValueTy, ToConst>() const {
return StringMapIterBase<ValueTy, ToConst>(Ptr, true);
return StringMapIterBase<ValueTy, ToConst>(Ptr);
}

friend bool operator==(const StringMapIterBase &LHS,
Expand Down
Loading