diff --git a/alloc/raw/aligned.hpp b/alloc/raw/aligned.hpp index 683ec81f..281510e4 100644 --- a/alloc/raw/aligned.hpp +++ b/alloc/raw/aligned.hpp @@ -71,6 +71,9 @@ namespace util::alloc::raw { /////////////////////////////////////////////////////////////////////// + auto data (void) { return m_successor.data (); } + + //--------------------------------------------------------------------- auto begin (void) { return m_successor.begin (); } auto begin (void) const { return m_successor.begin (); } diff --git a/alloc/raw/linear.cpp b/alloc/raw/linear.cpp index 801aa9fb..3a5d4480 100644 --- a/alloc/raw/linear.cpp +++ b/alloc/raw/linear.cpp @@ -75,6 +75,22 @@ linear::deallocate (void *ptr, size_t bytes, size_t alignment) } +//----------------------------------------------------------------------------- +void* +linear::data (void) +{ + return m_begin; +} + + +//----------------------------------------------------------------------------- +const void* +linear::data (void) const +{ + return m_begin; +} + + //----------------------------------------------------------------------------- void* linear::begin (void) diff --git a/alloc/raw/linear.hpp b/alloc/raw/linear.hpp index 82f496da..2d4a3ff3 100644 --- a/alloc/raw/linear.hpp +++ b/alloc/raw/linear.hpp @@ -43,10 +43,12 @@ namespace util::alloc::raw { void deallocate (void *ptr, size_t bytes); void deallocate (void *ptr, size_t bytes, size_t alignment); + void* data (void); void* begin (void); void* end (void); void* cursor (void); + const void* data (void) const; const void* begin (void) const; const void* end (void) const; const void* cursor (void) const;