Reallocate-Arena #1
@@ -15,7 +15,6 @@ namespace Juliet
|
||||
|
||||
DataFirst = DataLast = nullptr;
|
||||
Count = 0;
|
||||
Stride = sizeof(Type);
|
||||
ArenaParams params{ .AllowRealloc = AllowRealloc JULIET_DEBUG_ONLY(, .CanReserveMore = false) };
|
||||
Arena = ArenaAllocate(params);
|
||||
InternalArena = true;
|
||||
@@ -30,7 +29,6 @@ namespace Juliet
|
||||
|
||||
DataFirst = DataLast = nullptr;
|
||||
Count = 0;
|
||||
Stride = sizeof(Type);
|
||||
Arena = arena.Get();
|
||||
InternalArena = false;
|
||||
|
||||
@@ -42,7 +40,7 @@ namespace Juliet
|
||||
ArenaRelease(Arena);
|
||||
DataFirst = DataLast = nullptr;
|
||||
Count = 0;
|
||||
Stride = 0;
|
||||
Capacity = 0;
|
||||
Arena = nullptr;
|
||||
}
|
||||
|
||||
@@ -74,7 +72,7 @@ namespace Juliet
|
||||
{
|
||||
Assert(Arena);
|
||||
|
||||
Type* entry = Data + (Count * Stride);
|
||||
Type* entry = Data + Count;
|
||||
*entry = value;
|
||||
|
||||
if (Count == 0)
|
||||
@@ -89,7 +87,7 @@ namespace Juliet
|
||||
{
|
||||
Assert(Arena);
|
||||
|
||||
Type* entry = Data + (Count * Stride);
|
||||
Type* entry = Data + Count;
|
||||
*entry = std::move(value);
|
||||
|
||||
if (Count == 0)
|
||||
@@ -153,7 +151,6 @@ namespace Juliet
|
||||
Type* Data;
|
||||
size_t Count;
|
||||
size_t Capacity;
|
||||
size_t Stride;
|
||||
bool InternalArena : 1;
|
||||
};
|
||||
static_assert(std::is_standard_layout_v<VectorArena<int>>,
|
||||
|
||||
Reference in New Issue
Block a user