bvssvni/slice
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
slice - Slices in C BSD license. by Sven Nilsen, 2012 http://www.cutoutpro.com Version: 0.004 in angular degrees version notation http://isprogrammingeasy.blogspot.no/2012/08/angular-degrees-versioning-notation.html I like to write stuff in the language I find convenient and then translate the algorithm later to the language or environment I need it for. A programming language I like, Go, has a cool way of referring to arrays. I made this library to make translation between C and Go easier, but also to learn more about slices in general. #include "slice.h" SLICE_TYPE_DECLARE(<type>) Therer is no .c file, everything is implemented C preprosessor macroes. There is a custom assert macro in case you don't want to include <assert.h>. If NDEBUG is defined, then boundary checks will not be performed at runtime. <type>_slice ptr Pointer to arrays (does not have to be first item) len The length of elements (can be varied). cap The capacity of the array. Use typedef if your slice type is a pointer type: SLICE_TYPE_DECLARE(int*) // WRONG typedef int* int_ptr; SLICE_TYPE_DECLARE(int_ptr) // RIGHT For more information, read "slice.h".