From fb8fa5217d4a5081dacc0a74a786cd2efc964fdb Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 13 Sep 2021 00:58:39 +0100 Subject: Begin minimize `Type` size by replacing `Array` with `Slice` etc --- src/array.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/array.cpp') diff --git a/src/array.cpp b/src/array.cpp index 90d85563c..521fa91e2 100644 --- a/src/array.cpp +++ b/src/array.cpp @@ -150,6 +150,19 @@ void slice_copy(Slice *slice, Slice const &data, isize offset, isize count +template +gb_inline Slice slice(Slice const &array, isize lo, isize hi) { + GB_ASSERT(0 <= lo && lo <= hi && hi <= array.count); + Slice out = {}; + isize len = hi-lo; + if (len > 0) { + out.data = array.data+lo; + out.count = len; + } + return out; +} + + template void slice_ordered_remove(Slice *array, isize index) { GB_ASSERT(0 <= index && index < array->count); -- cgit v1.2.3