From f28a34fa99d68ce54c76272385ff9c172cc2ae59 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 25 Feb 2018 15:31:00 +0000 Subject: Use Array in ir.cpp --- src/array.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/array.cpp') diff --git a/src/array.cpp b/src/array.cpp index c1e47342c..8384c32f4 100644 --- a/src/array.cpp +++ b/src/array.cpp @@ -26,7 +26,9 @@ struct Array { template void array_init (Array *array, gbAllocator a, isize init_capacity = ARRAY_GROW_FORMULA(0)); template void array_init_count (Array *array, gbAllocator a, isize count); -template Array array_make (T *data, isize count, isize capacity); +template Array array_make (gbAllocator a, isize init_capacity = ARRAY_GROW_FORMULA(0)); +template Array array_make_count (gbAllocator a, isize count); +template Array array_make_from_ptr(T *data, isize count, isize capacity); template void array_free (Array *array); template void array_add (Array *array, T const &t); template T array_pop (Array *array); @@ -53,7 +55,7 @@ void array_init_count(Array *array, gbAllocator a, isize count) { template -Array array_make(T *data, isize count, isize capacity) { +Array array_make_from_ptr(T *data, isize count, isize capacity) { Array a = {0}; a.data = data; a.count = count; @@ -62,6 +64,21 @@ Array array_make(T *data, isize count, isize capacity) { } +template +Array array_make(gbAllocator a, isize init_capacity) { + Array array = {}; + array_init(&array, a, init_capacity); + return array; +} +template +Array array_make_count(gbAllocator a, isize count) { + Array array = {}; + array_init_count(&array, a, count); + return array; +} + + + template void array_free(Array *array) { if (array->allocator.proc != nullptr) { -- cgit v1.2.3