summaryrefslogtreecommitdiff
path: root/asl/base/utility.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'asl/base/utility.hpp')
-rw-r--r--asl/base/utility.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/asl/base/utility.hpp b/asl/base/utility.hpp
index 206a5b1..85c873d 100644
--- a/asl/base/utility.hpp
+++ b/asl/base/utility.hpp
@@ -35,6 +35,13 @@ template<typename T, typename U>
return static_cast<return_type>(x);
}
+template<typename T>
+[[nodiscard]] constexpr T* launder(T* ptr) noexcept // NOLINT
+ requires (!asl::is_func<T> && !asl::is_void<T>)
+{
+ return __builtin_launder(ptr);
+}
+
} // namespace std
namespace asl