mirror of
https://github.com/RGBCube/serenity
synced 2025-07-10 05:37:35 +00:00
AK: Make it possible to use HashMap<K, NonnullOwnPtr>::get()
Add the concept of a PeekType to Traits<T>. This is the type we'll return (wrapped in an Optional) from HashMap::get(). The PeekType for OwnPtr<T> and NonnullOwnPtr<T> is const T*, which means that HashMap::get() will return an Optional<const T*> for maps-of-those.
This commit is contained in:
parent
f75b1127b2
commit
fdcff7d15e
6 changed files with 40 additions and 2 deletions
|
@ -183,6 +183,12 @@ public:
|
|||
return exchange(m_ptr, nullptr);
|
||||
}
|
||||
|
||||
NonnullRefPtr<T> release_nonnull()
|
||||
{
|
||||
ASSERT(m_ptr);
|
||||
return NonnullRefPtr<T>(NonnullRefPtr<T>::Adopt, *leak_ref());
|
||||
}
|
||||
|
||||
T* ptr() { return m_ptr; }
|
||||
const T* ptr() const { return m_ptr; }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue