1. No alloc checks 2. This module is limited to storing integers. 3. The type Vector is exposed to the user.
An alternative approach for contiguous dynamically sized array is to use mmap/madvise.
1. No alloc checks 2. This module is limited to storing integers. 3. The type Vector is exposed to the user.
An alternative approach for contiguous dynamically sized array is to use mmap/madvise.
I still include them in my code, but I don't expect they will save me.
> 1. No alloc checks
I'm going to modify the post to do checks on alloc based on this and other comments, thanks!
> 2. This module is limited to storing integers.
Since this is for the most part for learning purposes, I'm not too worried about this. In the article I mention that you could maintain a list of void pointers and then cast to whatever you like.
Is that the sort of thing you had in mind or could there be another way to hold data of multiple types in vanilla C?
> 3. The type Vector is exposed to the user
Interesting, I didn't realize you could build this library without exposing that type. If you have a moment could you elaborate on how you might achieve this?
Thanks again!
Very simple, move the struct to the .c file. Add a forward declaration of that struct to the header file instead.