1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-09 09:34:57 +09:00

AK: Prevent confusing silent misuse of Userspace<T>

This commit is contained in:
Ben Wiederhake 2020-08-22 16:45:52 +02:00 committed by Andreas Kling
parent a6314f2ce6
commit b4f26c2b31
Notes: sideshowbarker 2024-07-19 03:18:00 +09:00

View file

@ -48,6 +48,13 @@ public:
operator bool() const { return m_ptr; } operator bool() const { return m_ptr; }
operator FlatPtr() const { return (FlatPtr)m_ptr; } operator FlatPtr() const { return (FlatPtr)m_ptr; }
// Disable default implementations that would use surprising integer promotion.
bool operator==(const Userspace&) const = delete;
bool operator<=(const Userspace&) const = delete;
bool operator>=(const Userspace&) const = delete;
bool operator<(const Userspace&) const = delete;
bool operator>(const Userspace&) const = delete;
#ifdef KERNEL #ifdef KERNEL
Userspace(FlatPtr ptr) Userspace(FlatPtr ptr)
: m_ptr(ptr) : m_ptr(ptr)
@ -86,5 +93,5 @@ inline Userspace<T> static_ptr_cast(const Userspace<U>& ptr)
} }
using AK::Userspace;
using AK::static_ptr_cast; using AK::static_ptr_cast;
using AK::Userspace;