From 2941a5a3e1bc990adae282e5501919ecd463e9bf Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Wed, 28 Feb 2018 16:19:27 +1100 Subject: [PATCH] alloc/raw: add 'data' accessor --- alloc/raw/aligned.hpp | 3 +++ alloc/raw/linear.cpp | 16 ++++++++++++++++ alloc/raw/linear.hpp | 2 ++ 3 files changed, 21 insertions(+) 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;