Fix MSVC Spectre warnings
This commit is contained in:
parent
12f083edb0
commit
2156d2ff3a
@ -5,12 +5,20 @@
|
||||
wapp_{Tlower}_array_clear(dst);
|
||||
|
||||
{T} *item;
|
||||
u64 to_copy = src->count < dst->capacity ? src->count : dst->capacity;
|
||||
for (u64 i = 0; i < to_copy; ++i) {{
|
||||
item = wapp_{Tlower}_array_get(src, i);
|
||||
|
||||
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
|
||||
// MSVC Spectre mitigation warnings
|
||||
u64 to_copy = src->count < dst->capacity ? src->count : dst->capacity;
|
||||
u64 item_index = 0;
|
||||
bool running = true;
|
||||
while (running) {{
|
||||
item = wapp_{Tlower}_array_get(src, item_index);
|
||||
++item_index;
|
||||
running = item_index < to_copy;
|
||||
|
||||
if (!item) {{
|
||||
continue;
|
||||
}}
|
||||
|
||||
|
||||
wapp_{Tlower}_array_append_capped(dst, *item);
|
||||
}}
|
||||
|
@ -8,12 +8,20 @@
|
||||
}}
|
||||
|
||||
{T} *item;
|
||||
|
||||
// NOTE (Abdelrahman): Uses a while loop instead of a for loop to get rid of
|
||||
// MSVC Spectre mitigation warnings
|
||||
u64 items_to_add = other->count;
|
||||
for (u64 i = 0; i < items_to_add; ++i) {{
|
||||
item = wapp_{Tlower}_array_get(other, i);
|
||||
u64 item_index = 0;
|
||||
bool running = true;
|
||||
while (running) {{
|
||||
item = wapp_{Tlower}_array_get(other, item_index);
|
||||
++item_index;
|
||||
running = item_index < items_to_add;
|
||||
|
||||
if (!item) {{
|
||||
continue;
|
||||
}}
|
||||
|
||||
wapp_{Tlower}_array_append_capped(array, *item);
|
||||
}}
|
||||
}}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,484 +1,484 @@
|
||||
/**
|
||||
* THIS FILE IS AUTOMATICALLY GENERATED. ANY MODIFICATIONS TO IT WILL BE OVERWRITTEN
|
||||
*/
|
||||
|
||||
#ifndef DBL_LIST_H
|
||||
#define DBL_LIST_H
|
||||
|
||||
#include "../../common/aliases/aliases.h"
|
||||
#include "../../common/platform/platform.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef WAPP_PLATFORM_CPP
|
||||
BEGIN_C_LINKAGE
|
||||
#endif // !WAPP_PLATFORM_CPP
|
||||
|
||||
#define wapp_str8_list_node(ITEM_PTR) ((Str8Node){.item = ITEM_PTR})
|
||||
#define wapp_void_ptr_list_node(ITEM_PTR) ((VoidPNode){.item = ITEM_PTR})
|
||||
#define wapp_bool_list_node(ITEM_PTR) ((BoolNode){.item = ITEM_PTR})
|
||||
#define wapp_char_list_node(ITEM_PTR) ((CharNode){.item = ITEM_PTR})
|
||||
#define wapp_c8_list_node(ITEM_PTR) ((C8Node){.item = ITEM_PTR})
|
||||
#define wapp_c16_list_node(ITEM_PTR) ((C16Node){.item = ITEM_PTR})
|
||||
#define wapp_c32_list_node(ITEM_PTR) ((C32Node){.item = ITEM_PTR})
|
||||
#define wapp_i8_list_node(ITEM_PTR) ((I8Node){.item = ITEM_PTR})
|
||||
#define wapp_i16_list_node(ITEM_PTR) ((I16Node){.item = ITEM_PTR})
|
||||
#define wapp_i32_list_node(ITEM_PTR) ((I32Node){.item = ITEM_PTR})
|
||||
#define wapp_i64_list_node(ITEM_PTR) ((I64Node){.item = ITEM_PTR})
|
||||
#define wapp_u8_list_node(ITEM_PTR) ((U8Node){.item = ITEM_PTR})
|
||||
#define wapp_u16_list_node(ITEM_PTR) ((U16Node){.item = ITEM_PTR})
|
||||
#define wapp_u32_list_node(ITEM_PTR) ((U32Node){.item = ITEM_PTR})
|
||||
#define wapp_u64_list_node(ITEM_PTR) ((U64Node){.item = ITEM_PTR})
|
||||
#define wapp_f32_list_node(ITEM_PTR) ((F32Node){.item = ITEM_PTR})
|
||||
#define wapp_f64_list_node(ITEM_PTR) ((F64Node){.item = ITEM_PTR})
|
||||
#define wapp_f128_list_node(ITEM_PTR) ((F128Node){.item = ITEM_PTR})
|
||||
#define wapp_iptr_list_node(ITEM_PTR) ((IptrNode){.item = ITEM_PTR})
|
||||
#define wapp_uptr_list_node(ITEM_PTR) ((UptrNode){.item = ITEM_PTR})
|
||||
|
||||
typedef struct str8 Str8;
|
||||
|
||||
typedef struct Str8Node Str8Node;
|
||||
struct Str8Node {
|
||||
Str8 *item;
|
||||
Str8Node *prev;
|
||||
Str8Node *next;
|
||||
};
|
||||
|
||||
typedef struct Str8List Str8List;
|
||||
struct Str8List {
|
||||
Str8Node *first;
|
||||
Str8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct VoidPNode VoidPNode;
|
||||
struct VoidPNode {
|
||||
void * *item;
|
||||
VoidPNode *prev;
|
||||
VoidPNode *next;
|
||||
};
|
||||
|
||||
typedef struct VoidPList VoidPList;
|
||||
struct VoidPList {
|
||||
VoidPNode *first;
|
||||
VoidPNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct BoolNode BoolNode;
|
||||
struct BoolNode {
|
||||
bool *item;
|
||||
BoolNode *prev;
|
||||
BoolNode *next;
|
||||
};
|
||||
|
||||
typedef struct BoolList BoolList;
|
||||
struct BoolList {
|
||||
BoolNode *first;
|
||||
BoolNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct CharNode CharNode;
|
||||
struct CharNode {
|
||||
char *item;
|
||||
CharNode *prev;
|
||||
CharNode *next;
|
||||
};
|
||||
|
||||
typedef struct CharList CharList;
|
||||
struct CharList {
|
||||
CharNode *first;
|
||||
CharNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct C8Node C8Node;
|
||||
struct C8Node {
|
||||
c8 *item;
|
||||
C8Node *prev;
|
||||
C8Node *next;
|
||||
};
|
||||
|
||||
typedef struct C8List C8List;
|
||||
struct C8List {
|
||||
C8Node *first;
|
||||
C8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct C16Node C16Node;
|
||||
struct C16Node {
|
||||
c16 *item;
|
||||
C16Node *prev;
|
||||
C16Node *next;
|
||||
};
|
||||
|
||||
typedef struct C16List C16List;
|
||||
struct C16List {
|
||||
C16Node *first;
|
||||
C16Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct C32Node C32Node;
|
||||
struct C32Node {
|
||||
c32 *item;
|
||||
C32Node *prev;
|
||||
C32Node *next;
|
||||
};
|
||||
|
||||
typedef struct C32List C32List;
|
||||
struct C32List {
|
||||
C32Node *first;
|
||||
C32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I8Node I8Node;
|
||||
struct I8Node {
|
||||
i8 *item;
|
||||
I8Node *prev;
|
||||
I8Node *next;
|
||||
};
|
||||
|
||||
typedef struct I8List I8List;
|
||||
struct I8List {
|
||||
I8Node *first;
|
||||
I8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I16Node I16Node;
|
||||
struct I16Node {
|
||||
i16 *item;
|
||||
I16Node *prev;
|
||||
I16Node *next;
|
||||
};
|
||||
|
||||
typedef struct I16List I16List;
|
||||
struct I16List {
|
||||
I16Node *first;
|
||||
I16Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I32Node I32Node;
|
||||
struct I32Node {
|
||||
i32 *item;
|
||||
I32Node *prev;
|
||||
I32Node *next;
|
||||
};
|
||||
|
||||
typedef struct I32List I32List;
|
||||
struct I32List {
|
||||
I32Node *first;
|
||||
I32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I64Node I64Node;
|
||||
struct I64Node {
|
||||
i64 *item;
|
||||
I64Node *prev;
|
||||
I64Node *next;
|
||||
};
|
||||
|
||||
typedef struct I64List I64List;
|
||||
struct I64List {
|
||||
I64Node *first;
|
||||
I64Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U8Node U8Node;
|
||||
struct U8Node {
|
||||
u8 *item;
|
||||
U8Node *prev;
|
||||
U8Node *next;
|
||||
};
|
||||
|
||||
typedef struct U8List U8List;
|
||||
struct U8List {
|
||||
U8Node *first;
|
||||
U8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U16Node U16Node;
|
||||
struct U16Node {
|
||||
u16 *item;
|
||||
U16Node *prev;
|
||||
U16Node *next;
|
||||
};
|
||||
|
||||
typedef struct U16List U16List;
|
||||
struct U16List {
|
||||
U16Node *first;
|
||||
U16Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U32Node U32Node;
|
||||
struct U32Node {
|
||||
u32 *item;
|
||||
U32Node *prev;
|
||||
U32Node *next;
|
||||
};
|
||||
|
||||
typedef struct U32List U32List;
|
||||
struct U32List {
|
||||
U32Node *first;
|
||||
U32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U64Node U64Node;
|
||||
struct U64Node {
|
||||
u64 *item;
|
||||
U64Node *prev;
|
||||
U64Node *next;
|
||||
};
|
||||
|
||||
typedef struct U64List U64List;
|
||||
struct U64List {
|
||||
U64Node *first;
|
||||
U64Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct F32Node F32Node;
|
||||
struct F32Node {
|
||||
f32 *item;
|
||||
F32Node *prev;
|
||||
F32Node *next;
|
||||
};
|
||||
|
||||
typedef struct F32List F32List;
|
||||
struct F32List {
|
||||
F32Node *first;
|
||||
F32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct F64Node F64Node;
|
||||
struct F64Node {
|
||||
f64 *item;
|
||||
F64Node *prev;
|
||||
F64Node *next;
|
||||
};
|
||||
|
||||
typedef struct F64List F64List;
|
||||
struct F64List {
|
||||
F64Node *first;
|
||||
F64Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct F128Node F128Node;
|
||||
struct F128Node {
|
||||
f128 *item;
|
||||
F128Node *prev;
|
||||
F128Node *next;
|
||||
};
|
||||
|
||||
typedef struct F128List F128List;
|
||||
struct F128List {
|
||||
F128Node *first;
|
||||
F128Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct IptrNode IptrNode;
|
||||
struct IptrNode {
|
||||
iptr *item;
|
||||
IptrNode *prev;
|
||||
IptrNode *next;
|
||||
};
|
||||
|
||||
typedef struct IptrList IptrList;
|
||||
struct IptrList {
|
||||
IptrNode *first;
|
||||
IptrNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct UptrNode UptrNode;
|
||||
struct UptrNode {
|
||||
uptr *item;
|
||||
UptrNode *prev;
|
||||
UptrNode *next;
|
||||
};
|
||||
|
||||
typedef struct UptrList UptrList;
|
||||
struct UptrList {
|
||||
UptrNode *first;
|
||||
UptrNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
Str8Node *wapp_str8_list_get(const Str8List *list, u64 index);
|
||||
void wapp_str8_list_push_front(Str8List *list, Str8Node *node);
|
||||
void wapp_str8_list_push_back(Str8List *list, Str8Node *node);
|
||||
void wapp_str8_list_insert(Str8List *list, Str8Node *node, u64 index);
|
||||
Str8Node *wapp_str8_list_pop_front(Str8List *list);
|
||||
Str8Node *wapp_str8_list_pop_back(Str8List *list);
|
||||
Str8Node *wapp_str8_list_remove(Str8List *list, u64 index);
|
||||
void wapp_str8_list_empty(Str8List *list);
|
||||
VoidPNode *wapp_void_ptr_list_get(const VoidPList *list, u64 index);
|
||||
void wapp_void_ptr_list_push_front(VoidPList *list, VoidPNode *node);
|
||||
void wapp_void_ptr_list_push_back(VoidPList *list, VoidPNode *node);
|
||||
void wapp_void_ptr_list_insert(VoidPList *list, VoidPNode *node, u64 index);
|
||||
VoidPNode *wapp_void_ptr_list_pop_front(VoidPList *list);
|
||||
VoidPNode *wapp_void_ptr_list_pop_back(VoidPList *list);
|
||||
VoidPNode *wapp_void_ptr_list_remove(VoidPList *list, u64 index);
|
||||
void wapp_void_ptr_list_empty(VoidPList *list);
|
||||
BoolNode *wapp_bool_list_get(const BoolList *list, u64 index);
|
||||
void wapp_bool_list_push_front(BoolList *list, BoolNode *node);
|
||||
void wapp_bool_list_push_back(BoolList *list, BoolNode *node);
|
||||
void wapp_bool_list_insert(BoolList *list, BoolNode *node, u64 index);
|
||||
BoolNode *wapp_bool_list_pop_front(BoolList *list);
|
||||
BoolNode *wapp_bool_list_pop_back(BoolList *list);
|
||||
BoolNode *wapp_bool_list_remove(BoolList *list, u64 index);
|
||||
void wapp_bool_list_empty(BoolList *list);
|
||||
CharNode *wapp_char_list_get(const CharList *list, u64 index);
|
||||
void wapp_char_list_push_front(CharList *list, CharNode *node);
|
||||
void wapp_char_list_push_back(CharList *list, CharNode *node);
|
||||
void wapp_char_list_insert(CharList *list, CharNode *node, u64 index);
|
||||
CharNode *wapp_char_list_pop_front(CharList *list);
|
||||
CharNode *wapp_char_list_pop_back(CharList *list);
|
||||
CharNode *wapp_char_list_remove(CharList *list, u64 index);
|
||||
void wapp_char_list_empty(CharList *list);
|
||||
C8Node *wapp_c8_list_get(const C8List *list, u64 index);
|
||||
void wapp_c8_list_push_front(C8List *list, C8Node *node);
|
||||
void wapp_c8_list_push_back(C8List *list, C8Node *node);
|
||||
void wapp_c8_list_insert(C8List *list, C8Node *node, u64 index);
|
||||
C8Node *wapp_c8_list_pop_front(C8List *list);
|
||||
C8Node *wapp_c8_list_pop_back(C8List *list);
|
||||
C8Node *wapp_c8_list_remove(C8List *list, u64 index);
|
||||
void wapp_c8_list_empty(C8List *list);
|
||||
C16Node *wapp_c16_list_get(const C16List *list, u64 index);
|
||||
void wapp_c16_list_push_front(C16List *list, C16Node *node);
|
||||
void wapp_c16_list_push_back(C16List *list, C16Node *node);
|
||||
void wapp_c16_list_insert(C16List *list, C16Node *node, u64 index);
|
||||
C16Node *wapp_c16_list_pop_front(C16List *list);
|
||||
C16Node *wapp_c16_list_pop_back(C16List *list);
|
||||
C16Node *wapp_c16_list_remove(C16List *list, u64 index);
|
||||
void wapp_c16_list_empty(C16List *list);
|
||||
C32Node *wapp_c32_list_get(const C32List *list, u64 index);
|
||||
void wapp_c32_list_push_front(C32List *list, C32Node *node);
|
||||
void wapp_c32_list_push_back(C32List *list, C32Node *node);
|
||||
void wapp_c32_list_insert(C32List *list, C32Node *node, u64 index);
|
||||
C32Node *wapp_c32_list_pop_front(C32List *list);
|
||||
C32Node *wapp_c32_list_pop_back(C32List *list);
|
||||
C32Node *wapp_c32_list_remove(C32List *list, u64 index);
|
||||
void wapp_c32_list_empty(C32List *list);
|
||||
I8Node *wapp_i8_list_get(const I8List *list, u64 index);
|
||||
void wapp_i8_list_push_front(I8List *list, I8Node *node);
|
||||
void wapp_i8_list_push_back(I8List *list, I8Node *node);
|
||||
void wapp_i8_list_insert(I8List *list, I8Node *node, u64 index);
|
||||
I8Node *wapp_i8_list_pop_front(I8List *list);
|
||||
I8Node *wapp_i8_list_pop_back(I8List *list);
|
||||
I8Node *wapp_i8_list_remove(I8List *list, u64 index);
|
||||
void wapp_i8_list_empty(I8List *list);
|
||||
I16Node *wapp_i16_list_get(const I16List *list, u64 index);
|
||||
void wapp_i16_list_push_front(I16List *list, I16Node *node);
|
||||
void wapp_i16_list_push_back(I16List *list, I16Node *node);
|
||||
void wapp_i16_list_insert(I16List *list, I16Node *node, u64 index);
|
||||
I16Node *wapp_i16_list_pop_front(I16List *list);
|
||||
I16Node *wapp_i16_list_pop_back(I16List *list);
|
||||
I16Node *wapp_i16_list_remove(I16List *list, u64 index);
|
||||
void wapp_i16_list_empty(I16List *list);
|
||||
I32Node *wapp_i32_list_get(const I32List *list, u64 index);
|
||||
void wapp_i32_list_push_front(I32List *list, I32Node *node);
|
||||
void wapp_i32_list_push_back(I32List *list, I32Node *node);
|
||||
void wapp_i32_list_insert(I32List *list, I32Node *node, u64 index);
|
||||
I32Node *wapp_i32_list_pop_front(I32List *list);
|
||||
I32Node *wapp_i32_list_pop_back(I32List *list);
|
||||
I32Node *wapp_i32_list_remove(I32List *list, u64 index);
|
||||
void wapp_i32_list_empty(I32List *list);
|
||||
I64Node *wapp_i64_list_get(const I64List *list, u64 index);
|
||||
void wapp_i64_list_push_front(I64List *list, I64Node *node);
|
||||
void wapp_i64_list_push_back(I64List *list, I64Node *node);
|
||||
void wapp_i64_list_insert(I64List *list, I64Node *node, u64 index);
|
||||
I64Node *wapp_i64_list_pop_front(I64List *list);
|
||||
I64Node *wapp_i64_list_pop_back(I64List *list);
|
||||
I64Node *wapp_i64_list_remove(I64List *list, u64 index);
|
||||
void wapp_i64_list_empty(I64List *list);
|
||||
U8Node *wapp_u8_list_get(const U8List *list, u64 index);
|
||||
void wapp_u8_list_push_front(U8List *list, U8Node *node);
|
||||
void wapp_u8_list_push_back(U8List *list, U8Node *node);
|
||||
void wapp_u8_list_insert(U8List *list, U8Node *node, u64 index);
|
||||
U8Node *wapp_u8_list_pop_front(U8List *list);
|
||||
U8Node *wapp_u8_list_pop_back(U8List *list);
|
||||
U8Node *wapp_u8_list_remove(U8List *list, u64 index);
|
||||
void wapp_u8_list_empty(U8List *list);
|
||||
U16Node *wapp_u16_list_get(const U16List *list, u64 index);
|
||||
void wapp_u16_list_push_front(U16List *list, U16Node *node);
|
||||
void wapp_u16_list_push_back(U16List *list, U16Node *node);
|
||||
void wapp_u16_list_insert(U16List *list, U16Node *node, u64 index);
|
||||
U16Node *wapp_u16_list_pop_front(U16List *list);
|
||||
U16Node *wapp_u16_list_pop_back(U16List *list);
|
||||
U16Node *wapp_u16_list_remove(U16List *list, u64 index);
|
||||
void wapp_u16_list_empty(U16List *list);
|
||||
U32Node *wapp_u32_list_get(const U32List *list, u64 index);
|
||||
void wapp_u32_list_push_front(U32List *list, U32Node *node);
|
||||
void wapp_u32_list_push_back(U32List *list, U32Node *node);
|
||||
void wapp_u32_list_insert(U32List *list, U32Node *node, u64 index);
|
||||
U32Node *wapp_u32_list_pop_front(U32List *list);
|
||||
U32Node *wapp_u32_list_pop_back(U32List *list);
|
||||
U32Node *wapp_u32_list_remove(U32List *list, u64 index);
|
||||
void wapp_u32_list_empty(U32List *list);
|
||||
U64Node *wapp_u64_list_get(const U64List *list, u64 index);
|
||||
void wapp_u64_list_push_front(U64List *list, U64Node *node);
|
||||
void wapp_u64_list_push_back(U64List *list, U64Node *node);
|
||||
void wapp_u64_list_insert(U64List *list, U64Node *node, u64 index);
|
||||
U64Node *wapp_u64_list_pop_front(U64List *list);
|
||||
U64Node *wapp_u64_list_pop_back(U64List *list);
|
||||
U64Node *wapp_u64_list_remove(U64List *list, u64 index);
|
||||
void wapp_u64_list_empty(U64List *list);
|
||||
F32Node *wapp_f32_list_get(const F32List *list, u64 index);
|
||||
void wapp_f32_list_push_front(F32List *list, F32Node *node);
|
||||
void wapp_f32_list_push_back(F32List *list, F32Node *node);
|
||||
void wapp_f32_list_insert(F32List *list, F32Node *node, u64 index);
|
||||
F32Node *wapp_f32_list_pop_front(F32List *list);
|
||||
F32Node *wapp_f32_list_pop_back(F32List *list);
|
||||
F32Node *wapp_f32_list_remove(F32List *list, u64 index);
|
||||
void wapp_f32_list_empty(F32List *list);
|
||||
F64Node *wapp_f64_list_get(const F64List *list, u64 index);
|
||||
void wapp_f64_list_push_front(F64List *list, F64Node *node);
|
||||
void wapp_f64_list_push_back(F64List *list, F64Node *node);
|
||||
void wapp_f64_list_insert(F64List *list, F64Node *node, u64 index);
|
||||
F64Node *wapp_f64_list_pop_front(F64List *list);
|
||||
F64Node *wapp_f64_list_pop_back(F64List *list);
|
||||
F64Node *wapp_f64_list_remove(F64List *list, u64 index);
|
||||
void wapp_f64_list_empty(F64List *list);
|
||||
F128Node *wapp_f128_list_get(const F128List *list, u64 index);
|
||||
void wapp_f128_list_push_front(F128List *list, F128Node *node);
|
||||
void wapp_f128_list_push_back(F128List *list, F128Node *node);
|
||||
void wapp_f128_list_insert(F128List *list, F128Node *node, u64 index);
|
||||
F128Node *wapp_f128_list_pop_front(F128List *list);
|
||||
F128Node *wapp_f128_list_pop_back(F128List *list);
|
||||
F128Node *wapp_f128_list_remove(F128List *list, u64 index);
|
||||
void wapp_f128_list_empty(F128List *list);
|
||||
IptrNode *wapp_iptr_list_get(const IptrList *list, u64 index);
|
||||
void wapp_iptr_list_push_front(IptrList *list, IptrNode *node);
|
||||
void wapp_iptr_list_push_back(IptrList *list, IptrNode *node);
|
||||
void wapp_iptr_list_insert(IptrList *list, IptrNode *node, u64 index);
|
||||
IptrNode *wapp_iptr_list_pop_front(IptrList *list);
|
||||
IptrNode *wapp_iptr_list_pop_back(IptrList *list);
|
||||
IptrNode *wapp_iptr_list_remove(IptrList *list, u64 index);
|
||||
void wapp_iptr_list_empty(IptrList *list);
|
||||
UptrNode *wapp_uptr_list_get(const UptrList *list, u64 index);
|
||||
void wapp_uptr_list_push_front(UptrList *list, UptrNode *node);
|
||||
void wapp_uptr_list_push_back(UptrList *list, UptrNode *node);
|
||||
void wapp_uptr_list_insert(UptrList *list, UptrNode *node, u64 index);
|
||||
UptrNode *wapp_uptr_list_pop_front(UptrList *list);
|
||||
UptrNode *wapp_uptr_list_pop_back(UptrList *list);
|
||||
UptrNode *wapp_uptr_list_remove(UptrList *list, u64 index);
|
||||
void wapp_uptr_list_empty(UptrList *list);
|
||||
|
||||
#ifdef WAPP_PLATFORM_CPP
|
||||
END_C_LINKAGE
|
||||
#endif // !WAPP_PLATFORM_CPP
|
||||
|
||||
#endif // !DBL_LIST_H
|
||||
/**
|
||||
* THIS FILE IS AUTOMATICALLY GENERATED. ANY MODIFICATIONS TO IT WILL BE OVERWRITTEN
|
||||
*/
|
||||
|
||||
#ifndef DBL_LIST_H
|
||||
#define DBL_LIST_H
|
||||
|
||||
#include "../../common/aliases/aliases.h"
|
||||
#include "../../common/platform/platform.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef WAPP_PLATFORM_CPP
|
||||
BEGIN_C_LINKAGE
|
||||
#endif // !WAPP_PLATFORM_CPP
|
||||
|
||||
#define wapp_str8_list_node(ITEM_PTR) ((Str8Node){.item = ITEM_PTR})
|
||||
#define wapp_void_ptr_list_node(ITEM_PTR) ((VoidPNode){.item = ITEM_PTR})
|
||||
#define wapp_bool_list_node(ITEM_PTR) ((BoolNode){.item = ITEM_PTR})
|
||||
#define wapp_char_list_node(ITEM_PTR) ((CharNode){.item = ITEM_PTR})
|
||||
#define wapp_c8_list_node(ITEM_PTR) ((C8Node){.item = ITEM_PTR})
|
||||
#define wapp_c16_list_node(ITEM_PTR) ((C16Node){.item = ITEM_PTR})
|
||||
#define wapp_c32_list_node(ITEM_PTR) ((C32Node){.item = ITEM_PTR})
|
||||
#define wapp_i8_list_node(ITEM_PTR) ((I8Node){.item = ITEM_PTR})
|
||||
#define wapp_i16_list_node(ITEM_PTR) ((I16Node){.item = ITEM_PTR})
|
||||
#define wapp_i32_list_node(ITEM_PTR) ((I32Node){.item = ITEM_PTR})
|
||||
#define wapp_i64_list_node(ITEM_PTR) ((I64Node){.item = ITEM_PTR})
|
||||
#define wapp_u8_list_node(ITEM_PTR) ((U8Node){.item = ITEM_PTR})
|
||||
#define wapp_u16_list_node(ITEM_PTR) ((U16Node){.item = ITEM_PTR})
|
||||
#define wapp_u32_list_node(ITEM_PTR) ((U32Node){.item = ITEM_PTR})
|
||||
#define wapp_u64_list_node(ITEM_PTR) ((U64Node){.item = ITEM_PTR})
|
||||
#define wapp_f32_list_node(ITEM_PTR) ((F32Node){.item = ITEM_PTR})
|
||||
#define wapp_f64_list_node(ITEM_PTR) ((F64Node){.item = ITEM_PTR})
|
||||
#define wapp_f128_list_node(ITEM_PTR) ((F128Node){.item = ITEM_PTR})
|
||||
#define wapp_iptr_list_node(ITEM_PTR) ((IptrNode){.item = ITEM_PTR})
|
||||
#define wapp_uptr_list_node(ITEM_PTR) ((UptrNode){.item = ITEM_PTR})
|
||||
|
||||
typedef struct str8 Str8;
|
||||
|
||||
typedef struct Str8Node Str8Node;
|
||||
struct Str8Node {
|
||||
Str8 *item;
|
||||
Str8Node *prev;
|
||||
Str8Node *next;
|
||||
};
|
||||
|
||||
typedef struct Str8List Str8List;
|
||||
struct Str8List {
|
||||
Str8Node *first;
|
||||
Str8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct VoidPNode VoidPNode;
|
||||
struct VoidPNode {
|
||||
void * *item;
|
||||
VoidPNode *prev;
|
||||
VoidPNode *next;
|
||||
};
|
||||
|
||||
typedef struct VoidPList VoidPList;
|
||||
struct VoidPList {
|
||||
VoidPNode *first;
|
||||
VoidPNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct BoolNode BoolNode;
|
||||
struct BoolNode {
|
||||
bool *item;
|
||||
BoolNode *prev;
|
||||
BoolNode *next;
|
||||
};
|
||||
|
||||
typedef struct BoolList BoolList;
|
||||
struct BoolList {
|
||||
BoolNode *first;
|
||||
BoolNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct CharNode CharNode;
|
||||
struct CharNode {
|
||||
char *item;
|
||||
CharNode *prev;
|
||||
CharNode *next;
|
||||
};
|
||||
|
||||
typedef struct CharList CharList;
|
||||
struct CharList {
|
||||
CharNode *first;
|
||||
CharNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct C8Node C8Node;
|
||||
struct C8Node {
|
||||
c8 *item;
|
||||
C8Node *prev;
|
||||
C8Node *next;
|
||||
};
|
||||
|
||||
typedef struct C8List C8List;
|
||||
struct C8List {
|
||||
C8Node *first;
|
||||
C8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct C16Node C16Node;
|
||||
struct C16Node {
|
||||
c16 *item;
|
||||
C16Node *prev;
|
||||
C16Node *next;
|
||||
};
|
||||
|
||||
typedef struct C16List C16List;
|
||||
struct C16List {
|
||||
C16Node *first;
|
||||
C16Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct C32Node C32Node;
|
||||
struct C32Node {
|
||||
c32 *item;
|
||||
C32Node *prev;
|
||||
C32Node *next;
|
||||
};
|
||||
|
||||
typedef struct C32List C32List;
|
||||
struct C32List {
|
||||
C32Node *first;
|
||||
C32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I8Node I8Node;
|
||||
struct I8Node {
|
||||
i8 *item;
|
||||
I8Node *prev;
|
||||
I8Node *next;
|
||||
};
|
||||
|
||||
typedef struct I8List I8List;
|
||||
struct I8List {
|
||||
I8Node *first;
|
||||
I8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I16Node I16Node;
|
||||
struct I16Node {
|
||||
i16 *item;
|
||||
I16Node *prev;
|
||||
I16Node *next;
|
||||
};
|
||||
|
||||
typedef struct I16List I16List;
|
||||
struct I16List {
|
||||
I16Node *first;
|
||||
I16Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I32Node I32Node;
|
||||
struct I32Node {
|
||||
i32 *item;
|
||||
I32Node *prev;
|
||||
I32Node *next;
|
||||
};
|
||||
|
||||
typedef struct I32List I32List;
|
||||
struct I32List {
|
||||
I32Node *first;
|
||||
I32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct I64Node I64Node;
|
||||
struct I64Node {
|
||||
i64 *item;
|
||||
I64Node *prev;
|
||||
I64Node *next;
|
||||
};
|
||||
|
||||
typedef struct I64List I64List;
|
||||
struct I64List {
|
||||
I64Node *first;
|
||||
I64Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U8Node U8Node;
|
||||
struct U8Node {
|
||||
u8 *item;
|
||||
U8Node *prev;
|
||||
U8Node *next;
|
||||
};
|
||||
|
||||
typedef struct U8List U8List;
|
||||
struct U8List {
|
||||
U8Node *first;
|
||||
U8Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U16Node U16Node;
|
||||
struct U16Node {
|
||||
u16 *item;
|
||||
U16Node *prev;
|
||||
U16Node *next;
|
||||
};
|
||||
|
||||
typedef struct U16List U16List;
|
||||
struct U16List {
|
||||
U16Node *first;
|
||||
U16Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U32Node U32Node;
|
||||
struct U32Node {
|
||||
u32 *item;
|
||||
U32Node *prev;
|
||||
U32Node *next;
|
||||
};
|
||||
|
||||
typedef struct U32List U32List;
|
||||
struct U32List {
|
||||
U32Node *first;
|
||||
U32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct U64Node U64Node;
|
||||
struct U64Node {
|
||||
u64 *item;
|
||||
U64Node *prev;
|
||||
U64Node *next;
|
||||
};
|
||||
|
||||
typedef struct U64List U64List;
|
||||
struct U64List {
|
||||
U64Node *first;
|
||||
U64Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct F32Node F32Node;
|
||||
struct F32Node {
|
||||
f32 *item;
|
||||
F32Node *prev;
|
||||
F32Node *next;
|
||||
};
|
||||
|
||||
typedef struct F32List F32List;
|
||||
struct F32List {
|
||||
F32Node *first;
|
||||
F32Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct F64Node F64Node;
|
||||
struct F64Node {
|
||||
f64 *item;
|
||||
F64Node *prev;
|
||||
F64Node *next;
|
||||
};
|
||||
|
||||
typedef struct F64List F64List;
|
||||
struct F64List {
|
||||
F64Node *first;
|
||||
F64Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct F128Node F128Node;
|
||||
struct F128Node {
|
||||
f128 *item;
|
||||
F128Node *prev;
|
||||
F128Node *next;
|
||||
};
|
||||
|
||||
typedef struct F128List F128List;
|
||||
struct F128List {
|
||||
F128Node *first;
|
||||
F128Node *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct IptrNode IptrNode;
|
||||
struct IptrNode {
|
||||
iptr *item;
|
||||
IptrNode *prev;
|
||||
IptrNode *next;
|
||||
};
|
||||
|
||||
typedef struct IptrList IptrList;
|
||||
struct IptrList {
|
||||
IptrNode *first;
|
||||
IptrNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
typedef struct UptrNode UptrNode;
|
||||
struct UptrNode {
|
||||
uptr *item;
|
||||
UptrNode *prev;
|
||||
UptrNode *next;
|
||||
};
|
||||
|
||||
typedef struct UptrList UptrList;
|
||||
struct UptrList {
|
||||
UptrNode *first;
|
||||
UptrNode *last;
|
||||
u64 node_count;
|
||||
};
|
||||
|
||||
Str8Node *wapp_str8_list_get(const Str8List *list, u64 index);
|
||||
void wapp_str8_list_push_front(Str8List *list, Str8Node *node);
|
||||
void wapp_str8_list_push_back(Str8List *list, Str8Node *node);
|
||||
void wapp_str8_list_insert(Str8List *list, Str8Node *node, u64 index);
|
||||
Str8Node *wapp_str8_list_pop_front(Str8List *list);
|
||||
Str8Node *wapp_str8_list_pop_back(Str8List *list);
|
||||
Str8Node *wapp_str8_list_remove(Str8List *list, u64 index);
|
||||
void wapp_str8_list_empty(Str8List *list);
|
||||
VoidPNode *wapp_void_ptr_list_get(const VoidPList *list, u64 index);
|
||||
void wapp_void_ptr_list_push_front(VoidPList *list, VoidPNode *node);
|
||||
void wapp_void_ptr_list_push_back(VoidPList *list, VoidPNode *node);
|
||||
void wapp_void_ptr_list_insert(VoidPList *list, VoidPNode *node, u64 index);
|
||||
VoidPNode *wapp_void_ptr_list_pop_front(VoidPList *list);
|
||||
VoidPNode *wapp_void_ptr_list_pop_back(VoidPList *list);
|
||||
VoidPNode *wapp_void_ptr_list_remove(VoidPList *list, u64 index);
|
||||
void wapp_void_ptr_list_empty(VoidPList *list);
|
||||
BoolNode *wapp_bool_list_get(const BoolList *list, u64 index);
|
||||
void wapp_bool_list_push_front(BoolList *list, BoolNode *node);
|
||||
void wapp_bool_list_push_back(BoolList *list, BoolNode *node);
|
||||
void wapp_bool_list_insert(BoolList *list, BoolNode *node, u64 index);
|
||||
BoolNode *wapp_bool_list_pop_front(BoolList *list);
|
||||
BoolNode *wapp_bool_list_pop_back(BoolList *list);
|
||||
BoolNode *wapp_bool_list_remove(BoolList *list, u64 index);
|
||||
void wapp_bool_list_empty(BoolList *list);
|
||||
CharNode *wapp_char_list_get(const CharList *list, u64 index);
|
||||
void wapp_char_list_push_front(CharList *list, CharNode *node);
|
||||
void wapp_char_list_push_back(CharList *list, CharNode *node);
|
||||
void wapp_char_list_insert(CharList *list, CharNode *node, u64 index);
|
||||
CharNode *wapp_char_list_pop_front(CharList *list);
|
||||
CharNode *wapp_char_list_pop_back(CharList *list);
|
||||
CharNode *wapp_char_list_remove(CharList *list, u64 index);
|
||||
void wapp_char_list_empty(CharList *list);
|
||||
C8Node *wapp_c8_list_get(const C8List *list, u64 index);
|
||||
void wapp_c8_list_push_front(C8List *list, C8Node *node);
|
||||
void wapp_c8_list_push_back(C8List *list, C8Node *node);
|
||||
void wapp_c8_list_insert(C8List *list, C8Node *node, u64 index);
|
||||
C8Node *wapp_c8_list_pop_front(C8List *list);
|
||||
C8Node *wapp_c8_list_pop_back(C8List *list);
|
||||
C8Node *wapp_c8_list_remove(C8List *list, u64 index);
|
||||
void wapp_c8_list_empty(C8List *list);
|
||||
C16Node *wapp_c16_list_get(const C16List *list, u64 index);
|
||||
void wapp_c16_list_push_front(C16List *list, C16Node *node);
|
||||
void wapp_c16_list_push_back(C16List *list, C16Node *node);
|
||||
void wapp_c16_list_insert(C16List *list, C16Node *node, u64 index);
|
||||
C16Node *wapp_c16_list_pop_front(C16List *list);
|
||||
C16Node *wapp_c16_list_pop_back(C16List *list);
|
||||
C16Node *wapp_c16_list_remove(C16List *list, u64 index);
|
||||
void wapp_c16_list_empty(C16List *list);
|
||||
C32Node *wapp_c32_list_get(const C32List *list, u64 index);
|
||||
void wapp_c32_list_push_front(C32List *list, C32Node *node);
|
||||
void wapp_c32_list_push_back(C32List *list, C32Node *node);
|
||||
void wapp_c32_list_insert(C32List *list, C32Node *node, u64 index);
|
||||
C32Node *wapp_c32_list_pop_front(C32List *list);
|
||||
C32Node *wapp_c32_list_pop_back(C32List *list);
|
||||
C32Node *wapp_c32_list_remove(C32List *list, u64 index);
|
||||
void wapp_c32_list_empty(C32List *list);
|
||||
I8Node *wapp_i8_list_get(const I8List *list, u64 index);
|
||||
void wapp_i8_list_push_front(I8List *list, I8Node *node);
|
||||
void wapp_i8_list_push_back(I8List *list, I8Node *node);
|
||||
void wapp_i8_list_insert(I8List *list, I8Node *node, u64 index);
|
||||
I8Node *wapp_i8_list_pop_front(I8List *list);
|
||||
I8Node *wapp_i8_list_pop_back(I8List *list);
|
||||
I8Node *wapp_i8_list_remove(I8List *list, u64 index);
|
||||
void wapp_i8_list_empty(I8List *list);
|
||||
I16Node *wapp_i16_list_get(const I16List *list, u64 index);
|
||||
void wapp_i16_list_push_front(I16List *list, I16Node *node);
|
||||
void wapp_i16_list_push_back(I16List *list, I16Node *node);
|
||||
void wapp_i16_list_insert(I16List *list, I16Node *node, u64 index);
|
||||
I16Node *wapp_i16_list_pop_front(I16List *list);
|
||||
I16Node *wapp_i16_list_pop_back(I16List *list);
|
||||
I16Node *wapp_i16_list_remove(I16List *list, u64 index);
|
||||
void wapp_i16_list_empty(I16List *list);
|
||||
I32Node *wapp_i32_list_get(const I32List *list, u64 index);
|
||||
void wapp_i32_list_push_front(I32List *list, I32Node *node);
|
||||
void wapp_i32_list_push_back(I32List *list, I32Node *node);
|
||||
void wapp_i32_list_insert(I32List *list, I32Node *node, u64 index);
|
||||
I32Node *wapp_i32_list_pop_front(I32List *list);
|
||||
I32Node *wapp_i32_list_pop_back(I32List *list);
|
||||
I32Node *wapp_i32_list_remove(I32List *list, u64 index);
|
||||
void wapp_i32_list_empty(I32List *list);
|
||||
I64Node *wapp_i64_list_get(const I64List *list, u64 index);
|
||||
void wapp_i64_list_push_front(I64List *list, I64Node *node);
|
||||
void wapp_i64_list_push_back(I64List *list, I64Node *node);
|
||||
void wapp_i64_list_insert(I64List *list, I64Node *node, u64 index);
|
||||
I64Node *wapp_i64_list_pop_front(I64List *list);
|
||||
I64Node *wapp_i64_list_pop_back(I64List *list);
|
||||
I64Node *wapp_i64_list_remove(I64List *list, u64 index);
|
||||
void wapp_i64_list_empty(I64List *list);
|
||||
U8Node *wapp_u8_list_get(const U8List *list, u64 index);
|
||||
void wapp_u8_list_push_front(U8List *list, U8Node *node);
|
||||
void wapp_u8_list_push_back(U8List *list, U8Node *node);
|
||||
void wapp_u8_list_insert(U8List *list, U8Node *node, u64 index);
|
||||
U8Node *wapp_u8_list_pop_front(U8List *list);
|
||||
U8Node *wapp_u8_list_pop_back(U8List *list);
|
||||
U8Node *wapp_u8_list_remove(U8List *list, u64 index);
|
||||
void wapp_u8_list_empty(U8List *list);
|
||||
U16Node *wapp_u16_list_get(const U16List *list, u64 index);
|
||||
void wapp_u16_list_push_front(U16List *list, U16Node *node);
|
||||
void wapp_u16_list_push_back(U16List *list, U16Node *node);
|
||||
void wapp_u16_list_insert(U16List *list, U16Node *node, u64 index);
|
||||
U16Node *wapp_u16_list_pop_front(U16List *list);
|
||||
U16Node *wapp_u16_list_pop_back(U16List *list);
|
||||
U16Node *wapp_u16_list_remove(U16List *list, u64 index);
|
||||
void wapp_u16_list_empty(U16List *list);
|
||||
U32Node *wapp_u32_list_get(const U32List *list, u64 index);
|
||||
void wapp_u32_list_push_front(U32List *list, U32Node *node);
|
||||
void wapp_u32_list_push_back(U32List *list, U32Node *node);
|
||||
void wapp_u32_list_insert(U32List *list, U32Node *node, u64 index);
|
||||
U32Node *wapp_u32_list_pop_front(U32List *list);
|
||||
U32Node *wapp_u32_list_pop_back(U32List *list);
|
||||
U32Node *wapp_u32_list_remove(U32List *list, u64 index);
|
||||
void wapp_u32_list_empty(U32List *list);
|
||||
U64Node *wapp_u64_list_get(const U64List *list, u64 index);
|
||||
void wapp_u64_list_push_front(U64List *list, U64Node *node);
|
||||
void wapp_u64_list_push_back(U64List *list, U64Node *node);
|
||||
void wapp_u64_list_insert(U64List *list, U64Node *node, u64 index);
|
||||
U64Node *wapp_u64_list_pop_front(U64List *list);
|
||||
U64Node *wapp_u64_list_pop_back(U64List *list);
|
||||
U64Node *wapp_u64_list_remove(U64List *list, u64 index);
|
||||
void wapp_u64_list_empty(U64List *list);
|
||||
F32Node *wapp_f32_list_get(const F32List *list, u64 index);
|
||||
void wapp_f32_list_push_front(F32List *list, F32Node *node);
|
||||
void wapp_f32_list_push_back(F32List *list, F32Node *node);
|
||||
void wapp_f32_list_insert(F32List *list, F32Node *node, u64 index);
|
||||
F32Node *wapp_f32_list_pop_front(F32List *list);
|
||||
F32Node *wapp_f32_list_pop_back(F32List *list);
|
||||
F32Node *wapp_f32_list_remove(F32List *list, u64 index);
|
||||
void wapp_f32_list_empty(F32List *list);
|
||||
F64Node *wapp_f64_list_get(const F64List *list, u64 index);
|
||||
void wapp_f64_list_push_front(F64List *list, F64Node *node);
|
||||
void wapp_f64_list_push_back(F64List *list, F64Node *node);
|
||||
void wapp_f64_list_insert(F64List *list, F64Node *node, u64 index);
|
||||
F64Node *wapp_f64_list_pop_front(F64List *list);
|
||||
F64Node *wapp_f64_list_pop_back(F64List *list);
|
||||
F64Node *wapp_f64_list_remove(F64List *list, u64 index);
|
||||
void wapp_f64_list_empty(F64List *list);
|
||||
F128Node *wapp_f128_list_get(const F128List *list, u64 index);
|
||||
void wapp_f128_list_push_front(F128List *list, F128Node *node);
|
||||
void wapp_f128_list_push_back(F128List *list, F128Node *node);
|
||||
void wapp_f128_list_insert(F128List *list, F128Node *node, u64 index);
|
||||
F128Node *wapp_f128_list_pop_front(F128List *list);
|
||||
F128Node *wapp_f128_list_pop_back(F128List *list);
|
||||
F128Node *wapp_f128_list_remove(F128List *list, u64 index);
|
||||
void wapp_f128_list_empty(F128List *list);
|
||||
IptrNode *wapp_iptr_list_get(const IptrList *list, u64 index);
|
||||
void wapp_iptr_list_push_front(IptrList *list, IptrNode *node);
|
||||
void wapp_iptr_list_push_back(IptrList *list, IptrNode *node);
|
||||
void wapp_iptr_list_insert(IptrList *list, IptrNode *node, u64 index);
|
||||
IptrNode *wapp_iptr_list_pop_front(IptrList *list);
|
||||
IptrNode *wapp_iptr_list_pop_back(IptrList *list);
|
||||
IptrNode *wapp_iptr_list_remove(IptrList *list, u64 index);
|
||||
void wapp_iptr_list_empty(IptrList *list);
|
||||
UptrNode *wapp_uptr_list_get(const UptrList *list, u64 index);
|
||||
void wapp_uptr_list_push_front(UptrList *list, UptrNode *node);
|
||||
void wapp_uptr_list_push_back(UptrList *list, UptrNode *node);
|
||||
void wapp_uptr_list_insert(UptrList *list, UptrNode *node, u64 index);
|
||||
UptrNode *wapp_uptr_list_pop_front(UptrList *list);
|
||||
UptrNode *wapp_uptr_list_pop_back(UptrList *list);
|
||||
UptrNode *wapp_uptr_list_remove(UptrList *list, u64 index);
|
||||
void wapp_uptr_list_empty(UptrList *list);
|
||||
|
||||
#ifdef WAPP_PLATFORM_CPP
|
||||
END_C_LINKAGE
|
||||
#endif // !WAPP_PLATFORM_CPP
|
||||
|
||||
#endif // !DBL_LIST_H
|
||||
|
@ -9,10 +9,15 @@ TestFuncResult test_i32_array(void) {
|
||||
result = array.count == 7 && array.capacity == 16;
|
||||
|
||||
i32 *item;
|
||||
u64 count = array.count;
|
||||
for (u64 i = 0; i < count; ++i) {
|
||||
item = wapp_i32_array_get(&array, i);
|
||||
result = result && item && (*item == (i32)(i + 1));
|
||||
u64 count = array.count;
|
||||
u64 index = 0;
|
||||
bool running = true;
|
||||
while (running) {
|
||||
item = wapp_i32_array_get(&array, index);
|
||||
result = result && item && (*item == (i32)(index + 1));
|
||||
|
||||
++index;
|
||||
running = index < count;
|
||||
}
|
||||
|
||||
return wapp_tester_result(result);
|
||||
@ -33,10 +38,15 @@ TestFuncResult test_i32_array_get(void) {
|
||||
I32Array array = wapp_i32_array(0, 1, 2, 3, 4, 5, 6, 7, 8);
|
||||
|
||||
i32 *item;
|
||||
u64 count = array.count;
|
||||
for (u64 i = 0; i < count; ++i) {
|
||||
item = wapp_i32_array_get(&array, i);
|
||||
result = result && item && (*item == (i32)i);
|
||||
u64 count = array.count;
|
||||
u64 index = 0;
|
||||
bool running = true;
|
||||
while (running) {
|
||||
item = wapp_i32_array_get(&array, index);
|
||||
result = result && item && (*item == (i32)index);
|
||||
|
||||
++index;
|
||||
running = index < count;
|
||||
}
|
||||
|
||||
return wapp_tester_result(result);
|
||||
@ -48,11 +58,16 @@ TestFuncResult test_i32_array_set(void) {
|
||||
I32Array array = wapp_i32_array(0, 1, 2, 3, 4, 5, 6, 7, 8);
|
||||
|
||||
i32 *item;
|
||||
u64 count = array.count;
|
||||
for (u64 i = 0; i < count; ++i) {
|
||||
wapp_i32_array_set(&array, i, (i32)(i * 2));
|
||||
item = wapp_i32_array_get(&array, i);
|
||||
result = result && item && (*item == (i32)(i * 2));
|
||||
u64 count = array.count;
|
||||
u64 index = 0;
|
||||
bool running = true;
|
||||
while (running) {
|
||||
wapp_i32_array_set(&array, index, (i32)(index * 2));
|
||||
item = wapp_i32_array_get(&array, index);
|
||||
result = result && item && (*item == (i32)(index * 2));
|
||||
|
||||
++index;
|
||||
running = index < count;
|
||||
}
|
||||
|
||||
return wapp_tester_result(result);
|
||||
@ -133,15 +148,27 @@ TestFuncResult test_i32_array_copy_capped(void) {
|
||||
u64 expected_count = 5;
|
||||
wapp_i32_array_copy_capped(&src, &dst1);
|
||||
result = dst1.count == expected_count;
|
||||
for (u64 i = 0; i < expected_count; ++i) {
|
||||
result = result && (*wapp_i32_array_get(&src, i) == *wapp_i32_array_get(&dst1, i));
|
||||
|
||||
u64 index = 0;
|
||||
bool running = true;
|
||||
while (running) {
|
||||
result = result && (*wapp_i32_array_get(&src, index) == *wapp_i32_array_get(&dst1, index));
|
||||
|
||||
++index;
|
||||
running = index < expected_count;
|
||||
}
|
||||
|
||||
expected_count = 4;
|
||||
wapp_i32_array_copy_capped(&src, &dst2);
|
||||
result = result && dst2.count == expected_count;
|
||||
for (u64 i = 0; i < expected_count; ++i) {
|
||||
result = result && (*wapp_i32_array_get(&src, i) == *wapp_i32_array_get(&dst2, i));
|
||||
|
||||
index = 0;
|
||||
running = true;
|
||||
while (running) {
|
||||
result = result && (*wapp_i32_array_get(&src, index) == *wapp_i32_array_get(&dst2, index));
|
||||
|
||||
++index;
|
||||
running = index < expected_count;
|
||||
}
|
||||
|
||||
return wapp_tester_result(result);
|
||||
@ -171,8 +198,14 @@ TestFuncResult test_i32_array_append_alloc(void) {
|
||||
I32Array *arr_ptr = wapp_i32_array_append_alloc(&allocator, &array1, 10);
|
||||
result = arr_ptr == &array1;
|
||||
|
||||
for (u64 i = 0; i < 4; ++i) {
|
||||
arr_ptr = wapp_i32_array_append_alloc(&allocator, &array2, (i32)i);
|
||||
u64 count = 4;
|
||||
u64 index = 0;
|
||||
bool running = true;
|
||||
while (running) {
|
||||
arr_ptr = wapp_i32_array_append_alloc(&allocator, &array2, (i32)index);
|
||||
|
||||
++index;
|
||||
running = index < count;
|
||||
}
|
||||
result = result && arr_ptr != &array2;
|
||||
|
||||
@ -212,15 +245,27 @@ TestFuncResult test_i32_array_copy_alloc(void) {
|
||||
u64 expected_count = 5;
|
||||
array_ptr = wapp_i32_array_copy_alloc(&allocator, &src, &dst1);
|
||||
result = array_ptr->count == expected_count && array_ptr == &dst1;
|
||||
for (u64 i = 0; i < expected_count; ++i) {
|
||||
result = result && (*wapp_i32_array_get(&src, i) == *wapp_i32_array_get(array_ptr, i));
|
||||
|
||||
u64 index = 0;
|
||||
bool running = true;
|
||||
while (running) {
|
||||
result = result && (*wapp_i32_array_get(&src, index) == *wapp_i32_array_get(array_ptr, index));
|
||||
|
||||
++index;
|
||||
running = index < expected_count;
|
||||
}
|
||||
|
||||
expected_count = 5;
|
||||
array_ptr = wapp_i32_array_copy_alloc(&allocator, &src, &dst2);
|
||||
result = result && array_ptr->count == expected_count && array_ptr != &dst2;
|
||||
for (u64 i = 0; i < expected_count; ++i) {
|
||||
result = result && (*wapp_i32_array_get(&src, i) == *wapp_i32_array_get(array_ptr, i));
|
||||
|
||||
index = 0;
|
||||
running = true;
|
||||
while (running) {
|
||||
result = result && (*wapp_i32_array_get(&src, index) == *wapp_i32_array_get(array_ptr, index));
|
||||
|
||||
++index;
|
||||
running = index < expected_count;
|
||||
}
|
||||
|
||||
wapp_mem_arena_allocator_destroy(&allocator);
|
||||
|
Loading…
x
Reference in New Issue
Block a user