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