summaryrefslogtreecommitdiff
path: root/asl/memory/memory.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'asl/memory/memory.hpp')
-rw-r--r--asl/memory/memory.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/asl/memory/memory.hpp b/asl/memory/memory.hpp
index 2c5301e..5ea4766 100644
--- a/asl/memory/memory.hpp
+++ b/asl/memory/memory.hpp
@@ -17,6 +17,17 @@ constexpr void* operator new(size_t, void* ptr) noexcept
namespace asl
{
+template<typename T>
+[[nodiscard]]
+constexpr T* address_of(T& obj)
+{
+ return __builtin_addressof(obj);
+}
+
+template<typename T>
+void address_of(const T&& obj) = delete;
+
+[[nodiscard]]
constexpr isize_t memcmp(const void* a, const void* b, isize_t size)
{
return __builtin_memcmp(a, b, static_cast<size_t>(size));