diff options
| author | Ginger Bill <bill@gingerbill.org> | 2016-11-02 13:44:04 +0000 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2016-11-02 13:44:04 +0000 |
| commit | 8534e064b9b4486f3e1c819666b02933387954f5 (patch) | |
| tree | d352dbbbf3eb3b3b771a8d9e5c99df46370d68c8 /src/array.cpp | |
| parent | fa0eb88b7ba803dcb0670b4cff771f3584447728 (diff) | |
File restructure (again)
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; |