diff options
Diffstat (limited to 'src/array.cpp')
| -rw-r--r-- | src/array.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/array.cpp b/src/array.cpp index 127e49f89..825fdc51e 100644 --- a/src/array.cpp +++ b/src/array.cpp @@ -19,6 +19,7 @@ struct Array { }; template <typename T> void array_init (Array<T> *array, gbAllocator a, isize init_capacity = ARRAY_GROW_FORMULA(0)); +template <typename T> void array_init_count (Array<T> *array, gbAllocator a, isize count); template <typename T> Array<T> array_make (T *data, isize count, isize capacity); template <typename T> void array_free (Array<T> *array); template <typename T> void array_add (Array<T> *array, T const &t); @@ -38,6 +39,15 @@ void array_init(Array<T> *array, gbAllocator a, isize init_capacity) { } template <typename T> +void array_init_count(Array<T> *array, gbAllocator a, isize count) { + array->allocator = a; + array->data = gb_alloc_array(a, T, count); + array->count = count; + array->capacity = count; +} + + +template <typename T> Array<T> array_make(T *data, isize count, isize capacity) { Array<T> a = {}; a.data = data; |