move str8 list pop to the base layer

This commit is contained in:
Nikita Smith
2026-01-22 13:29:45 -08:00
parent 29a7dfedac
commit 7627ccf84e
4 changed files with 16 additions and 17 deletions
+15
View File
@@ -1122,6 +1122,21 @@ str8_list_push_frontf(Arena *arena, String8List *list, char *fmt, ...)
return result; return result;
} }
internal String8Node*
str8_list_pop_front(String8List *list)
{
String8Node *node = 0;
if(list->node_count)
{
node = list->first;
Assert(list->total_size >= list->first->string.size);
list->node_count -= 1;
list->total_size -= list->first->string.size;
SLLQueuePop(list->first, list->last);
}
return node;
}
internal String8List internal String8List
str8_list_copy(Arena *arena, String8List *list) str8_list_copy(Arena *arena, String8List *list)
{ {
+1
View File
@@ -267,6 +267,7 @@ internal void str8_list_concat_in_place(String8List *list, String8List *
internal String8Node* str8_list_push_aligner(Arena *arena, String8List *list, U64 min, U64 align); internal String8Node* str8_list_push_aligner(Arena *arena, String8List *list, U64 min, U64 align);
internal String8Node* str8_list_pushf(Arena *arena, String8List *list, char *fmt, ...); internal String8Node* str8_list_pushf(Arena *arena, String8List *list, char *fmt, ...);
internal String8Node* str8_list_push_frontf(Arena *arena, String8List *list, char *fmt, ...); internal String8Node* str8_list_push_frontf(Arena *arena, String8List *list, char *fmt, ...);
internal String8Node* str8_list_pop_front(String8List *list);
internal String8List str8_list_copy(Arena *arena, String8List *list); internal String8List str8_list_copy(Arena *arena, String8List *list);
#define str8_list_first(list) ((list)->first ? (list)->first->string : str8_zero()) #define str8_list_first(list) ((list)->first ? (list)->first->string : str8_zero())
-14
View File
@@ -7,20 +7,6 @@ str8_starts_with(String8 string, String8 expected_prefix)
return str8_match(str8_prefix(string, expected_prefix.size), expected_prefix, 0); return str8_match(str8_prefix(string, expected_prefix.size), expected_prefix, 0);
} }
internal String8Node *
str8_list_pop_front(String8List *list)
{
String8Node *node = 0;
if (list->node_count) {
node = list->first;
Assert(list->total_size >= list->first->string.size);
list->node_count -= 1;
list->total_size -= list->first->string.size;
SLLQueuePop(list->first, list->last);
}
return node;
}
internal U64 internal U64
str8_array_bsearch(String8Array arr, String8 value) str8_array_bsearch(String8Array arr, String8 value)
{ {
-3
View File
@@ -3,9 +3,6 @@
#pragma once #pragma once
// TODO: remove
internal String8Node * str8_list_pop_front(String8List *list);
internal B32 str8_starts_with(String8 string, String8 expected_prefix); internal B32 str8_starts_with(String8 string, String8 expected_prefix);
internal U64 str8_array_bsearch(String8Array arr, String8 value); internal U64 str8_array_bsearch(String8Array arr, String8 value);