From f7a669d342c96451a3e0be84e2e51af8631f90ec Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 9 Jul 2016 00:31:57 +0100 Subject: Initial release version * Code cleanup * Fix some TODOs * Reduce heap allocation use and replace with arena allocation --- src/common.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/common.cpp') diff --git a/src/common.cpp b/src/common.cpp index 7b8f7cf02..7d7bed316 100644 --- a/src/common.cpp +++ b/src/common.cpp @@ -46,6 +46,23 @@ gb_inline u64 hash_pointer(void *ptr) { return p; } + + +// Doubly Linked Lists + +#define DLIST_SET(curr_element, next_element) do { \ + (curr_element)->next = (next_element); \ + (curr_element)->next->prev = (curr_element); \ + (curr_element) = (curr_element)->next; \ +} while (0) + +#define DLIST_APPEND(root_element, curr_element, next_element) do { \ + if ((root_element) == NULL) \ + (root_element) = (curr_element) = (next_element); \ + else \ + DLIST_SET(curr_element, next_element); \ +} while (0) + //////////////////////////////////////////////////////////////// // // Generic Data Structures -- cgit v1.2.3