aboutsummaryrefslogtreecommitdiff
path: root/src/array.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2016-11-02 13:44:04 +0000
committerGinger Bill <bill@gingerbill.org>2016-11-02 13:44:04 +0000
commit8534e064b9b4486f3e1c819666b02933387954f5 (patch)
treed352dbbbf3eb3b3b771a8d9e5c99df46370d68c8 /src/array.cpp
parentfa0eb88b7ba803dcb0670b4cff771f3584447728 (diff)
File restructure (again)
Diffstat (limited to 'src/array.cpp')
-rw-r--r--src/array.cpp10
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;