ulfben icon

Arena allocator

ulfben | PRO | 01/14/23 09:52:42 AM UTC | 0 ⭐ | 1869 👁️ | Never ⏰ | []
C++ |

420 B

|

None

|

0 👍

/

0 👎

 
//https://lesleylai.info/en/std-align
 
struct Arena {
  void* ptr = 0;
  std::size_t size_remain = 0;
  
  [[nodiscard]]
  auto aligned_alloc(std::size_t alignment, std::size_t size) noexcept -> void*
  {
    void* res = std::align(alignment, size, ptr, size_remain);
    if (res) {
        ptr = static_cast<std::byte*>(res) + size;
        size_remain -= size;
        return res;
    }
    return nullptr;
  }
};

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎