mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-25 13:20:57 +00:00
Add front/back/erase to MapVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175449 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e3111964a0
commit
888fae7b49
@ -64,6 +64,11 @@ public:
|
|||||||
return Vector.empty();
|
return Vector.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::pair<KeyT, ValueT> &front() { return Vector.front(); }
|
||||||
|
const std::pair<KeyT, ValueT> &front() const { return Vector.front(); }
|
||||||
|
std::pair<KeyT, ValueT> &back() { return Vector.back(); }
|
||||||
|
const std::pair<KeyT, ValueT> &back() const { return Vector.back(); }
|
||||||
|
|
||||||
void clear() {
|
void clear() {
|
||||||
Map.clear();
|
Map.clear();
|
||||||
Vector.clear();
|
Vector.clear();
|
||||||
@ -113,6 +118,16 @@ public:
|
|||||||
return Pos == Map.end()? Vector.end() :
|
return Pos == Map.end()? Vector.end() :
|
||||||
(Vector.begin() + Pos->second);
|
(Vector.begin() + Pos->second);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// \brief Erase entry with the given key.
|
||||||
|
void erase(const KeyT &key) {
|
||||||
|
typename MapType::iterator Pos = Map.find(key);
|
||||||
|
if (Pos == Map.end())
|
||||||
|
return;
|
||||||
|
|
||||||
|
Vector.erase(Vector.begin() + Pos->second);
|
||||||
|
Map.erase(Pos);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user