Skip to content

bvssvni/slice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

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".

About

Slices in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages