From 7d315c8095766bb33082998e168c6409200d0eb3 Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Fri, 18 May 2018 16:51:42 +1000 Subject: [PATCH] allow/raw/linear: add typed offset query --- alloc/raw/linear.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/alloc/raw/linear.hpp b/alloc/raw/linear.hpp index 5d73cb96..da11fa8e 100644 --- a/alloc/raw/linear.hpp +++ b/alloc/raw/linear.hpp @@ -82,6 +82,16 @@ namespace util::alloc::raw { size_t offset (const void*) const; + template + size_t + offset (ValueT const *ptr) const + { + CHECK_MOD (reinterpret_cast (ptr), sizeof (ValueT)); + CHECK_MOD (reinterpret_cast (data ()), sizeof (ValueT)); + + return ptr - util::cast::alignment (data ()); + } + template size_t offset (util::view ptr) const